为什么我没有得到NullPointerException?

为什么我没有得到NullPointerException?,第1张

为什么我没有得到NullPointerException?

通过实例调用静态方法不需要实例存在。只要编译器能够确定变量的类型,它就可以在评估

sc
表达式并丢弃结果后静态进行等效调用:

System.out.println(SampleClass.getSumStatic(4,5));

根据Java语言规范:

第15.12.1节

❖如果格式为

Primary.NonWildTypeArgumentsoptIdentifier
,则方法的名称为标识符。令T为主要表达式的类型。如果T为类或接口类型,则要搜索的类或接口为T;如果T为类型变量,则为T的上限。

第15.12.4.1节:

  1. 如果涉及MethodInvocation的第二个生成,其中包括一个Primary,则有两个子情况:

❖如果调用模式是静态的,则没有目标引用。对表达式Primary求值,但是结果将被丢弃。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5429563.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存