Blog

Java : Les Paquetages

Les paquetages servent à structurer l’ensemble des classes et interfaces écrits en Java. Leur utilité est multiple :

  • ils facilitent la recherche de l’emplacement physique des classes quand elles sont nécessaires (pour la compilation d’un fichier ou pour l’exécution d’un programme) ;
  • ils rendent très improbable qu’il y ait confusion entre des classes de même nom ;
  • ils structurent l’ensemble des classes selon une arborescence, ce qui rend beaucoup plus lisible l’ensemble ;
  • ils permettent de nuancer des niveaux de visibilité entre les classes selon qu’elles appartiennt ou non à un même paquetage.

Les noms de paquetage prennent une forme telle que coursJava.monPaquet. Si la classe DansPaquetage se trouve dans un paquetage coursJava.monPaquet, alors son nom complet est coursJava.monPaquet.DansPaquetage. Le fichier DansPaquetage.class sera nécessairement rangé dans un répertoire de nom monPaquet contenu par un répertoire de nom coursJava. Autrement dit, la fin du chemin d’accès à ce fichier sera coursJava/monPaquet.

Mettez-vous à la place de “quelqu’un” (par exemple un compilateur) qui recherche la classe DansPaquetage en sachant qu’elle se trouve dans le paquetage coursJava.monPaquet. Supposez par ailleurs que vous disposiez d’une liste de chemins d’accès à des “répertoires racines” de paquetage (le répertoire coursJava est une telle racine) ; supposez que dans cette liste figure le chemin d’accès au répertoire coursJava. Vous pouvez retrouver la classe DansPaquetage en prenant les uns après les autres les chemins d’accès aux répertoires racines puis en complétant par le chemin relatif coursJava/monPaquet pour voir si vous trouvez la classe DansPaquetage.

De l’intérieur d’un fichier Java, on peut être dispensé de nommer complètement les classes issus d’un autre paquetage grâce à l’instruction import. Imaginons néanmoins que vous utilisiez dans un même fichier Java les classes coursJava.monPaquet. DansPaquetage et coursJava.tonPaquet.DansPaquetage, alors les directives :import coursJava.monPaquet.DansPaquetage; etimport coursJava.tonPaquet.DansPaquetage;
ne pourraient pas vous servir à faire un raccourci en nommant l’une ou l’autre des classes par DansPaquetage : vous aurez recours aux noms complets.

Signalons que, à l’intérieur d’un même paquetage, on peut utiliser toute classe de ce paquetage sans instruction import.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *