Construire un paquetage (package)

Les programmes Java sont organises en paquetages declarant et implementant des classes et des interfaces. Un paquetage peut etre divise en trois parties :

Un paquetage est declare par package (en fait, tous les programmes que nous avons ecrits jusqu'a present etait des paquetages sans nom). L'importation d'un paquetage se fait par la commande import.

Les paquetages sont organises de facon hierarchique. Ainsi, si un paquetage P2 est defini a partir d'une racine P1, le nom complet de P2 sera P1.P2. Par exemple, si l'environnement java est installe sous un repertoire /ou_ca/java-JDK-1.0.2/, on trouve sous ce repertoire un repertoire classes qui contient lui-meme un repertoire java. Les paquetages standards sont stockes a partir ce ce dernier repertoire. On y trouve en particulier les sous-repertoires :

applet, awt, io, lang, net, util

Si l'on descent sous le repertoire lang par exemple, on a alors un ensemble de fichiers .class (eventuellement .java) qui contiennent toutes les classes et interfaces du paquetage java.lang.

Ainsi, pour avoir acces a toutes les classes et interfaces sous le repertoire /ou_ca/java-JDK-1.0.2/classes/java/lang, il faudra inserer la ligne suivante :

import java.lang.*

NB : pour les paquetages standards, javac trouve son chemin tout seul.

Enfin, la definition des classes et interfaces se fait comme nous l'avons vu precedemment. Attention : il faut creer un fichier a chaque fois que l'on veut ecrire une classe ou une interface public !

Programme : 

// fichier ma_classe.java

package mon_paquetage ;

import paquetage.dont.jai.besoin.*

public class ma_classe

{

    public ma_classe() {}

    ...

}


/* fichier ma_classe2.java

    @author Ph. RIS

    @version 1.0

****************************/

package mon_paquetage ;

import paquetage.dont.jai.besoin.*

public class ma_classe2

{

    public ma_classe2() {}

    ...

}

// ma_classe et ma_classe2 appartiennent au meme paquetage mais sont dans 2 fichiers separes.

On constate qu'il est judicieux en Java de creer un repertoire par paquetage. Enfin, a la compilation, javac doit pouvoir acceder aux paquetages importes meme s'il ne sont pas dans les repertoires standards (Cf. les options de javac).

Enfin, le JDK inclut un utilitaire qui permet de generer automatique une documentation html d'un paquetage par le biais de la commande javadoc *.java qui utilise les tags suivants :


Ph. RIS 1997