示例代码01:
public class Test { //带有static的方法 public static void method1(){ //调用doSome //完整方式的调用 Test.doSome(); //省略方式的调用 doSome(); //调用doOther //完整方式的调用 Test t = new Test(); t.doOther(); //省略方式的调用(无) //访问i //完整方式访问 System.out.println(t.i); //省略方式访问(无) } //没有static的方法 public void method2(){ //调用doSome //完整方式的调用 Test.doSome(); //省略方式的调用 doSome(); //调用doOther //完整方式的调用 this.doOther(); //省略方式的调用 doOther();//疑问(this可省略!) //访问i //完整方式访问 System.out.println(this.i); //省略方式访问 System.out.println(i); } //主方法 public static void main(String[] args){ //要求在这里编写程序调用method1 //使用完整方式调用 Test.method1(); //使用省略方式调用 method1(); //要求在这里编写程序调用method2 //使用完整方式调用 Test t = new Test(); t.method2(); //使用省略方式调用(无) //访问i //完整方式访问 System.out.println(t.i); //省略方式访问(无) } //没有static的变量 int i = 10; //带有static的方法 public static void doSome(){ System.out.println("do some!"); } //没有static的方法 public void doOther(){ System.out.println("do other!"); } }
示例代码02:
/** * 什么时候程序在运行的时候出现空指针异常呢? * 空引用访问实例相关的数据,因为实例相关的数据就是对象相关的数据, * 这些数据在访问的时候,必须有对象的参与,当空引用的时候,对象不存在 * 访问这些实例数据一定会出现空指针异常 * * 实例相关的数据包括: * 实例变量【对象需要存在】 * 实例方法【对象需要存在】 * */ public class Test01 { public static void main(String[] args) { Test.doSome(); doSome(); Test t = new Test(); t.doSome(); //引用是空 t = null; //带有static方法,其实可以采用类名的方式访问,也可以采用引用的方式访问 //但是即使采用引用的方式访问,实际上执行的时候和引用指向的对象无关 t.doSome();//这里不会出现空指针异常 } //带有static的方法,需要使用“类名.”的方式访问 public static void doSome(){ System.out.println("do some!"); } }