Java 9中的新关键字

威尔·舍伍德:

Java 9最大的功能之一是由Project Jigsaw定义的模块系统。当从JavaOne 2015 Project Jigsaw:The Hood读取幻灯片时,我注意到以下源代码:

// src/java.sql/module-info.java
module java.sql {
   exports java.sql;
   exports javax.sql;
   exports javax.transaction.xa;
}

对我而言,有趣的是文件结尾,.java并且似乎使用了两个新关键字:moduleexportsJava 9将引入哪些其他关键字?向后兼容性(即名为的函数或变量module将如何处理

马克·莱因霍尔德(Mark Reinhold):

Java语言规范Java SE 9 Edition的 §3.9中总结了在Java 9中为模块声明添加的关键字

进一步的十个字符的序列是受限制的关键字:openmodulerequirestransitiveexportsopenstousesprovides,和with这些字符序列仅在ModuleDeclaration和ModuleDirective生成(第7.7节)中作为终端出现时才被标记为关键字。为了与Java SE 9之前编写的程序兼容,它们在其他任何地方都被标记为标识符。只有一个例外:在ModuleDirective生产中,字符序列右边要求的字符序列可传递性被标记为关键字,除非它是后面跟一个分隔符,在这种情况下,它被标记为标识符。

如果您当前有一个名为的方法module,或此处列出的任何其他关键字,它将继续编译。

view并且permits是早期Jigsaw原型中的关键字,但很早以前就简化了它们的存在。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章