Java 中的 static成员(static字段或 static方法)与它们各自的类相关联,而不是与这个类的对象相关联。下面的代码尝试访问 null引用上的静态字段。
public class Main
{
private static final int value = 10;
public Main getNull()
{
return null;
}
public static void main(String[] args)
{
Main main=new Main();
System.out.println("value = "+main.getNull().value);
}
}
虽然 main.getNull()返回 null,但它工作并显示 value = 10。这段代码是如何工作的?
 
                                
                             
                                
                             
                                
                             
                                
                            