gpt4 book ai didi

java - 我如何能够在空对象上调用方法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:51:40 25 4
gpt4 key购买 nike

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 java puzzler”。

谁能给我答案。提前致谢。

最佳答案

在您的代码示例中,get() 是属于类而非实例的静态成员。您不需要实例来调用该方法。

public static String get() // belongs globally to class, no instance required
public String get() // belongs to instance

关于java - 我如何能够在空对象上调用方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8585411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com