类成员

  类方法也是类成员的一种,类方法也是属于类的,通常直接使用类作为调用者来调用类方法,但也可以使用对象来调用类方法。与类变量类似,即使使用对象来调用类方法,其效果也与采用类来调用类方法完全一样。
  当使用实例来访问类成员时,实际上依然是委托给该类来访问类成员,因此即使某个实例为null,它也可以访问它所属类的类成员。如:
public class NullAccessStatic {
    private static void test() {
        System.out.println("static修饰的类方法");
    }
    
    public static void main(String[] args) {
        NullAccessStatic nas = null;
        nas.test();
    }
}
输出:
static修饰的类方法
  如果一个null对象访问实例成员(包括实例变量和实例方法),将会引发NullPointerException异常,因为null表明该实例根本不存在,既然实例不存在,那么它的实例变量和实例方法自然也不存在。
  类成员(包括方法、初始化块、内部类和枚举类)不能访问实例成员(包括成员变量、方法、初始化块、内部类和枚举类)。因为类成员是属于类的,类成员的作用域比实例成员的作用域更大,完全可能出现类成员已经初始化完成,但实例成员还不曾初始化的情况,如果允许类成员访问实例成员将会引起大量错误。

posted on 2016-11-13 22:02  ycyoes  阅读(165)  评论(0编辑  收藏  举报

导航

欢迎访问个人博客: http://www.ycyoes.com