【问题标题】:Why class level attributes work with Null为什么类级别属性与 Null 一起使用
【发布时间】:2011-08-13 11:15:52
【问题描述】:

我认为以下会抛出 NullPointerException

class N { 
    static int i;
    public static void main( String ... args ) { 
        System.out.println( ((N)null).i );
    }
}

但事实并非如此。为什么?

【问题讨论】:

    标签: java nullpointerexception class-attributes


    【解决方案1】:

    因为i 是静态(类级别)成员。它为阶级而存在,为它的每一个对象而存在。所以它真的不需要引用对象,所以这部分((N)null)实际上被忽略了,除了类型推断。它可以而且应该替换为N.i

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-05
      • 1970-01-01
      • 2015-11-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多