public class Main
{
public static void main(String []ar)
{
A m = new A();
System.out.println(m.getNull().getValue());
}
}
class A
{
A getNull()
{
return null;
}
static int getValue()
{
return 1;
}
}
我在SCJP书中遇到了这个问题。该代码将打印出
1
而不是预期的NPE。有人可以解释原因吗? 最佳答案
它按照Java Language Specification的方式运行: