太自由

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
//类成员相关介绍:从这个例子中要很好的理解一句话:
//对象实际上并不持有类变量,类变量是由该类持有的,同一个类的所有
//对象访问类变量时,实际上都是访问该类所持有的变量。当使用实例来访问类
//成员时,实际上依然是委托给该类来访问类成员.
/*
当使用实例来访问类成员(包括类变量和类方法)时,实际上依然是委托给该类来访问类成员
因此即使某个实例为null,它也可以访问它所属的类成员。例如下面代码:

*/
public class NullAccessStatic 
{
    private void test1(){}
    private static void test()
    {
        System.out.println("static修饰的类方法");
    }
    public static void main(String[] args) 
    {
        //定义一个NullAccessStatic变量,其值为null
        NullAccessStatic nas = null;
        //使用null对象调用所属类的静态方法
        nas.test();
//下面这一句话运行时将会输出异常提示:
//nas.test1();
/*
        ---------- 运行 ----------
static修饰的类方法
Exception in thread "main" java.lang.NullPointerException
    at NullAccessStatic.main(NullAccessStatic.java:20)

输出完成 (耗时 0 秒) - 正常终止
*/
    }
}

 

posted on 2016-05-01 09:42  太自由  阅读(129)  评论(0编辑  收藏  举报