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语言规范:
空引用可用于访问类(静态)变量而不会引起异常。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句