为什么const
Java中有保留关键字但没有功能?如果他们决定final
改用,那么拥有的意义const
何在?
6 回答
您需要询问 Java 1.0 之前的设计者以找出他们最初的动机,但我推测他们只是保持他们的选择开放。goto
保留字是另一个例子。
我的猜测是,在 JLS 中找到的“aix”文本是“事后”合理化。为什么?因为struct
, union
,unsigned
等等在 Java 中不是保留字!简而言之,我不买它......不管 JLS 声称什么:-)
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html
"The keywords const and goto are reserved, even though they are not currently used."
i don't know about the exact background but maybe they used to be part of java?
它只是保留关键字。它没有任何用例或功能
人们认为保留关键字是为了允许对 Java 语言进行扩展,以包括 C++ 风格的 const 方法和指向 const 类型的指针。Java Community Process 中用于在 Java 中实现 const 正确性的增强请求票已于 2005 年关闭,这意味着 const 正确性可能永远不会进入官方 Java 规范。
从 JLS -
“关键字 const 和 goto 是保留的,即使它们当前未使用。如果这些 C++ 关键字错误地出现在程序中,这可能允许 Java 编译器产生更好的错误消息”