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.通常,是用于导出,模块描述符,打开和要求中使用的修饰符。这两者之间有什么区别,在实践中,一个比另一个更可取?SYNTHETICMANDATED
问题 2.如果未在模块的源代码中声明,则无论如何,示例是什么?SyntheticModifier