Module, Packaging
Rémi Forax
Classe, Package et Module
Il y a 3 niveaux d’encapsulation en Java
La classe
les interfaces, enum, annotation sont des classes
particulières
contient des membres (champ, methode, classe interne)
4 niveaux de visibilité (private, default, protected, public)
Le package
contient des classes
2 niveaux de visibilité (default, public)
Le module
contient des packages
2 niveaux de visibilité (default, exports)
Organisation sur le disque
mon_projet
src
fr.umlv.foo module fr.umlv.foo
module-info.java descripteur du module
fr
umlv
foo package fr.umlv.foo
Main.java classe
api package fr.umlv.foo.api
package-info.java descripteur du package
Fizz.java classe
Buzz.java classe
util package fr.umlv.foo.util
package-info.java descripteur du package
Helper.java classe
module-info et package-info
sont aussi des fichiers .java
module-info.java
module fr.umlv.foo { // on peut mettre des annotations
exports fr.umlv.foo;
exports fr.umlv.foo.api; // fr.umlv.foo.util pas exporté
}
package-info.java (celui de fr.umlv.foo.api)
/** on met la doc du package ici !
*/
package fr.umlv.foo.api; // on peut mettre des annotations
Bar.java
package fr.umlv.foo.api;
public class Bar { … }
On peut ne pas déclarer de module
Les packages sont alors dans le module sans nom
(unamed module)
Tous les packages sont alors exportés
On peut ne pas déclarer de package
Les classes sont alors dans le package par défaut
(default package)
On ne peut pas utiliser import
Si on déclare un module, alors il faut obligatoirement
mettre les classes dans un package
Si on ne fait pas une vrai appli
1 / 36 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !