为什么类级属性使用Null



我认为下面会抛出NullPointerException

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

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

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

相关内容

  • 没有找到相关文章

最新更新