首页 > 解决方案 > 为什么在没有 NullPointerException 的情况下对空对象调用此方法?

问题描述

输出的原因是什么?我知道它会打印Hello World,但不知道为什么它应该给出NullPointerException.

public class Null
{
    public static void greet()
    {
        System.out.println("Hello World");

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

标签: java

解决方案


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

((Null)null).greet();

相当于,

Null.greet()

推荐阅读