为什么在类定义的末尾不需要分号但允许分号?

为什么在类定义的末尾不需要分号但允许分号?,第1张

为什么在类定义的末尾不需要分号但允许分号?

我已经编译并执行了Java所示的两个程序片段,并且它们均有效。谁能解释为什么会这样?

之所以允许,是因为Java语法说允许。参见JLS
7.6

Java类定义末尾的分号代表什么?

没有。它是可选的“语法噪声”。

JLS对此进行了如下解释:

多余的“;” 出现在编译单元中类型声明级别的标记对编译单元的含义没有影响。Java编程语言中仅允许使用散列分号作为对习惯于放置“;”的C
++程序员的让步。在类声明之后。它们不应在新的Java代码中使用。


(请注意,这不是“空语句”。在允许使用语句的句法上下文中会出现一个空语句(JLS
14.6
)。空语句的存在可以更改代码的含义;例如

if(a == b) ; c();
vs
if (a == b) c();



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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存