在Java 9的模块声明中有2个结构:
exports com.foo;
Run Code Online (Sandbox Code Playgroud)
和
opens com.foo;
Run Code Online (Sandbox Code Playgroud)
凡exports赠款编译时访问,同时opens允许运行时访问,如反射和资源.
opens有一个宽容exports,你可以将整个模块定义为open,结果与显式打开每个包相同:
open module com.mod {
Run Code Online (Sandbox Code Playgroud)
但是没有相似的结构
exported module com.mod {
Run Code Online (Sandbox Code Playgroud)
我的问题:为什么会这样; 有什么决定允许一次打开整个模块而不是出口?
java java-platform-module-system java-9 java-module module-info