【发布时间】:2012-01-25 00:06:44
【问题描述】:
public class JavaPuzzler {
public static void main(String[] args) {
JavaPuzzler javaPuzzler = null;
System.out.println(javaPuzzler.get());
}
private static String get(){
return "i am a java puzzler";
}
}
你可能认为它应该抛出 NullPointerException,因为 main 方法调用了 已初始化的局部变量的 get() 方法 为 null,并且您不能在 null 上调用方法。
但是如果你运行这个程序,你会看到它打印出“i am a javauzzler”。
谁能给我答案。 提前致谢。
【问题讨论】:
-
我认为在您的打印语句中它的 JavaPuzzler.get() 带有大写 J
-
@Nikunj 的问题是绝对正确的,没有任何错误。
-
@NikunjChauhan,不,代码是正确的,将按照发布的方式运行......小写“j”等等。显然你和你的两个支持者没有先尝试:)
-
@Paul:是的..检查我的答案!