Java9 中的 Synthetic 和 Mandateed Modifier 有什么区别
java 文档中的导出
修饰符
指出
授权
导出是在模块声明的源中隐式声明的。
合成
导出未在模块声明的源中显式或隐式声明。
看看几个es,我可以看到通常有两种类型的用法:module-info.class
module java.base {
...
exports java.util; // type 1
exports java.util.concurrent;
exports java.util.concurrent.atomic;
exports jdk.internal to jdk.jfr; // type 2
exports jdk.internal.jmod to
jdk.compiler,
jdk.jlink;
...
}
合格导出确实描述了这两种类型,但没有对枚举类型的引用。这些是文档中引用的不同类型的类型吗?
问题 1.通常,是用于导出
,模块描述符
,打开
和要求
中使用的修饰符。这两者之间有什么区别,在实践中,一个比另一个更可取?SYNTHETIC
MANDATED
问题 2.如果未在模块的源代码中声明,则无论如何,示例是什么?Synthetic
Modifier