
Introduction
Les packages en Java correspondent à la structure des répertoires dans votre projet. Ils sont utilisés pour regrouper et contrôler l’accessibilité des classes, interfaces et sous-paquets.
Pourquoi utiliser des packages ?
Plusieurs avantages à l’utilisation de packages :
- Un meilleur contrôle d’accès.
- Éviter les conflits de noms : l’utilisation de packages permet d’éviter les conflits de noms, par exemple, si vous avez une classe com.app.User et une classe com.standard.User, vous ne rencontrerez pas de conflit de noms même si ces deux classes portent le même nom.
- Une meilleure organisation : il est indispensable d’avoir une structure de projet organisée. Les packages permettent d’organiser un projet de manière ordonnée puisqu’un package contient généralement des types qui sont logiquement liés les uns aux autres.
Les conventions de nommage :
- Les packages sont définis en minuscules, ne contiennent pas de caractères spéciaux (comme les traits de soulignement ou d’autres symboles) et ne contiennent pas d’espaces.
- En général, il existe une convention selon laquelle le nom du paquet commence par le nom de domaine utilisé comme identifiant unique.
Si une entreprise s’appelle MyCompany et que l’un de ses projets s’appelle MyApp, le nom du paquetage sera com.mycompany.myapp. Toutes les classes seront placées dans le répertoire myapp. - Les packages sont délimités par des points (les points sont utilisés pour indiquer les sous-paquets). Ainsi, par exemple, si nous avons la classe com.mycompany.myapp.users.User, le package users est un sous-package du package myapp et User est une classe du package users.
package com.mycompany.myapp.controller;
import com.mycompany.myapp.service.MyService;
public class MyController {
MyService myService = new MyService();
}
L’utilisation de l’astérisque * indique que toutes les classes et interfaces du package seront importées, mais notez que les sous-paquets du package importé ne seront pas importés :
import com.mycompany.myapp.service.*;