This question already has answers here:
Why does this not cause a NullPointerException?

(2个答案)


1年前关闭。




输出的原因是什么?我知道它会打印Hello World,但不知道为什么要给出NullPointerException
public class Null
{
    public static void greet()
    {
        System.out.println("Hello World");

    }
    public static void main(String[] args)
    {
        ((Null)null).greet();
    }
}

最佳答案

这是因为greet()是静态方法。所以

((Null)null).greet();

等价于
Null.greet()

关于java - 为什么在没有NullPointerException的情况下对空对象运行此方法的调用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57643277/

10-14 10:45
查看更多