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";
}
}
Run Code Online (Sandbox Code Playgroud)
您可能认为它应该抛出NullPointerException,因为main方法在局部变量上调用get()方法,该方法初始化为null,并且您不能在null上调用方法.
但是如果你运行这个程序,你会看到它打印出"我是一个java puzzler".
任何人都可以给我答案.提前致谢.
在您的代码示例中,get()是属于类的静态成员,而不是实例.您不需要实例来调用该方法.
public static String get() // belongs globally to class, no instance required
public String get() // belongs to instance
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1778 次 |
| 最近记录: |