在java中实例对象访问类成员(静态变量),实际上是委托给该类来访问类成员,因此即使某个实例为null,他也可以访问他所属类的类成员。
package cn.com.postel.wbb.crazyJava;
public class NullAccessStatic {
public static void test() {
System. out.println("静态方法" );
}
public static void main(String[] args) {
NullAccessStatic nas = new NullAccessStatic();
nas.test();
}
}
输出结果:静态方法。说明null对象可以访问它所属类的类成员。如果一个null对象访问势力成员(包括属性和方法),将会引发NullPointerException异常,因为null标明该实例根本呢不存在,既然不存在,理所当然的,那么他的属性和方法也不存在。