java – 我能如何调用null对象的方法?

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上调用方法.

但是如果你运行这个程序,你将会看到它打印出“我是一个java puzzler”.

有人可以给我答案吗
提前致谢.

解决方法

代码示例中,get()是属于该类的静态成员,而不是一个实例.您不需要一个实例来调用方法.
public static String get() // belongs globally to class,no instance required
public String get() // belongs to instance

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...