Java 9中的新关键字
Java 9最大的功能之一是Project Jigsaw定义的模块系统。当从JavaOne 2015 的Project Jigsaw:The
Hood中读取幻灯片时,我注意到以下源代码:
// src/java.sql/module-info.javamodule java.sql {
exports java.sql;
exports javax.sql;
exports javax.transaction.xa;
}
对我而言,有趣的是文件结尾,.java
并且似乎使用了两个新关键字:module
和exports
。Java
9将引入哪些其他关键字?向后兼容性(即名为的函数或变量module
)将如何处理?
回答:
Java SE 9 Edition Java语言规范的第3.9节总结了在Java 9中为模块声明添加的关键字:
进一步的十个字符的序列是受限制的关键字:
open
,
module
,requires
,transitive
,exports
,opens
,to
,uses
,
provides
,和with
。这些字符序列仅在ModuleDeclaration和ModuleDirective生成(第7.7节)中作为终端出现时才被标记为关键字。为了与JavaSE
9之前编写的程序兼容,它们在其他任何地方都被标记为标识符。有一个例外:在ModuleDirective生产中,字符序列的右边紧随其后的要求是,可传递的字符序列被标记为关键字,除非它是然后是分隔符,在这种情况下,它被标记为标识符。
如果您当前有一个名为的方法module
,或此处列出的任何其他关键字,它将继续编译。
(view
并且permits
是早期Jigsaw原型中的关键字,但很早以前就已经简化了它们的存在。)
以上是 Java 9中的新关键字 的全部内容, 来源链接: utcz.com/qa/408812.html