Leçon 28 : Organisation du code avec les packages et les instructions import
Les packages sont le moyen utilisé par Java pour regrouper les classes et les interfaces liées entre elles. Ils empêchent les conflits de nommage et aident à contrôler l'accès.
1. Définition d'un package
- La déclaration du package doit être la toute première ligne de votre fichier source Java (si elle est présente).
- Par convention, les noms de package sont tous en minuscules et utilisent des noms de domaine inversés (ex:
com.mycompany.app).
java // Fichier : com/mycompany/models/Car.java package com.mycompany.models;
public class Car { /* ... */ }
2. Package par défaut
Si vous ne spécifiez pas de package, la classe appartient au package par défaut. Ceci est déconseillé pour les applications du monde réel.
3. Importation de classes
Lorsque vous souhaitez utiliser une classe définie dans un package différent, vous devez utiliser l'instruction import.
A. Importation d'une classe spécifique
java import java.util.ArrayList;
// Nous pouvons maintenant utiliser ArrayList directement ArrayList list = new ArrayList();
B. Importation de toutes les classes d'un package
L'utilisation de l'astérisque (*) importe toutes les classes de ce package, mais pas les sous-packages.
java import java.util.*; // Importe ArrayList, HashMap, Scanner, etc.
Scanner scanner = new Scanner(System.in);
Note sur java.lang : Le package java.lang (qui contient des classes comme String, System et Math) est automatiquement importé dans chaque programme Java.
4. Nom de classe complet (FQC)
Si deux packages contiennent des classes portant le même nom, ou si vous choisissez de ne pas importer, vous devez utiliser le nom de classe complet (Fully Qualified Class Name) :
java // Utilisation de deux classes Date différentes sans conflits d'import java.util.Date utilDate = new java.util.Date(); java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());