Comprendre les packages en Java
Les packages en Java
Un package en Java est utilisé pour regrouper des classes et des interfaces connexes. Il aide à organiser votre code et à éviter les conflits de noms. Les packages sont similaires aux dossiers sur votre ordinateur.
Déclaration de package
Pour créer un package en Java, vous utilisez la déclaration package en haut de votre fichier Java. Par exemple :
package com.monentreprise.monapplication;
Dans cet exemple, com.monentreprise.monapplication est le nom du package. Il est courant d’utiliser le nom de domaine de votre entreprise à l’envers comme base pour le nom du package.
Un package en Java ne commence pas toujours par com.. En fait, il existe une convention de nommage pour les packages en Java qui stipule que les packages doivent commencer par l’un des préfixes suivants: com, edu, gov, mil, net, org ou les deux lettres identifiant un pays (ISO Standard 3166, 1981) ; « fr » correspond à la France, « en » correspond à l’Angleterre (pour England) etc. Le préfixe com est souvent utilisé pour les packages créés par des entreprises commerciales. Cependant, cette convention n’est pas obligatoire et les développeurs sont libres de choisir le nom de leur package selon leurs besoins.
On peut comparer les packages java aux espaces de nom (namespace) en c# ou en php.
Utilisation de packages
Pour utiliser une classe ou une interface d’un autre package, vous devez soit utiliser son nom complet, soit l’importer avec la déclaration import. Par exemple :
import com.monentreprise.monapplication.MaClasse;
// Maintenant, vous pouvez utiliser MaClasse directement
MaClasse maClasse = new MaClasse();
Packages prédéfinis
Java fournit également de nombreux packages prédéfinis qui contiennent des classes et des interfaces couramment utilisées. Par exemple, le package java.util contient des classes utiles comme ArrayList et HashMap.
Exemple:
// Déclaration du package
package fr.imts.test;
// Déclaration de la classe Formation
public class Formation {
// Variables d'instance
private String nom;
private int duree;
// Constructeur
public Formation(String nom, int duree) {
this.nom = nom;
this.duree = duree;
}
// Méthodes getter
public String getNom() {
return this.nom;
}
public int getDuree() {
return this.duree;
}
// Méthodes setter
public void setNom(String nom) {
this.nom = nom;
}
public void setDuree(int duree) {
this.duree = duree;
}
}
Dans cet exemple, la classe Formation est définie dans le package com.IMTS. Elle a deux variables d’instance, nom et duree, ainsi que des méthodes pour obtenir et définir ces valeurs. Vous pouvez créer une instance de cette classe en utilisant le constructeur Formation, comme ceci : Formation maFormation = new Formation("Java", 30);.
classe Main qui utilise le package com.IMTS et la classe Formation :
// Importation de la classe Formation du package fr.imts.test
import fr.imts.test.Formation;
public class Main {
public static void main(String[] args) {
// Création d'une instance de la classe Formation
Formation maFormation = new Formation("Java", 30);
// Affichage des détails de la formation
System.out.println("Nom de la formation : " + maFormation.getNom());
System.out.println("Durée de la formation : " + maFormation.getDuree() + " jours");
}
}
Dans cet exemple, nous importons d’abord la classe Formation du package com.IMTS.
Ensuite, dans la méthode main, nous créons une instance de Formation et affichons ses détails.
Notez que cette classe Main doit être dans un répertoire qui peut accéder au package com.IMTS selon le chemin d’accès.
Si Main et Formation sont dans le même répertoire, l’importation n’est pas nécessaire.
