java - 为什么在没有 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();
}
}
解决方案
这是因为greet()
是静态方法。所以
((Null)null).greet();
相当于,
Null.greet()
推荐阅读
- jsp - [java.lang.IllegalStateException: getOutputStream() 已经为此响应调用]
- svg - SVG中矩形的中心文本
- recursion - 从 inorder 和 preorder 创建 postorder
- pythonanywhere - 在 pythonanywhere 中的某个类下添加 if-else 语句时出现语法错误
- arm64 - 是否有适用于 ARM64 架构的 Rapids 版本?
- openssl - 无法将 openssl rsa .pem 转换为 jks,出现 NullPointerException
- elixir - Phoenix + ExUnit:我应该在哪里定义全局助手?
- python - 运行 celery 组:两个任务并行运行以获取结果以产生第三个结果
- r - X 怎么可能同时像一个向量和一个具体变量一样(R)?
- android - 安卓通知不起作用它不返回任何错误