Le Modifier
for Exports
dans le doc java indique queQuelle est la différence entre synthétique et Mandaté Modificateur Java9
MANDATED
L'exportation a été implicitement déclaré dans la source du module déclaration. L'exportation n'a pas été déclarée explicitement ou implicitement dans la source de la déclaration du module.
En regardant quelques module-info.class
es, je peux voir qu'il ya généralement deux types d'usages:
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;
...
}
Le Qualified Exports ne décrivent ces deux types, mais il n'y a pas de référence aux types de ENUM. Sont-ce les différents types mentionnés dans les documents?
Q1. En général, SYNTHETIC
et MANDATED
sont des modificateurs utilisés comme dans Exports
, ModuleDescriptor
, Opens
et Requires
. Quelle est la différence entre ces deux et est un préféré à un autre dans la pratique?
Q2. Quel est un exemple d'un Synthetic
Modifier
de toute façon sinon déclaré dans la source du module?
N'êtes-vous pas une réponse à ces questions? ;-) – GhostCat
@GhostCat Haha..Je devrais essayer fort pour celui-ci je suppose.Juste ne pouvait pas trouver une référence simple n'importe où. Je comptais sur la communauté pour revenir avec quelques/meilleurs détails :) – nullpointer
Attendons qu'Alan réponde à cela mais je suppose que les exports synthétiques pourraient être ceux qui sont créés pour les modules automatiques et ceux sans nom. De tels modules exportent des paquets même s'ils ne déclarent pas une clause 'exports'. Mais je ne fais que deviner ici ... – Nicolai