Médiaforma

Java – Les paquetages

Print Friendly

Supposons maintenant que la classe Cylindre se trouve dans un dossier et qu’elle doive être appelée depuis un autre dossier.

Créez le dossier test. Dans ce dossier, créez les sous-dossiers classeCylindre et autreDossier. Insérez le fichier Cylindre.java suivant dans le dossier classeCylindre :

public class Cylindre {
  public double rayon;
  public double hauteur;

  public double Calcule() {
    return 3.1415 * rayon * rayon * hauteur;
  }
}

Et le fichier Calcul.java suivant dans le dossier autreDossier :

class Calcul {
  public static void main (String args[]) throws java.io.IOException {
    Cylindre Cyl = new Cylindre();
    Cyl.rayon = 10;
    Cyl.hauteur = 5;
    System.out.println(Cyl.Calcule());
  }
}

Après compilation de ces deux classes voici ce que vous devriez obtenir :

Essayez de compiler la classe Cylindre.class avec la commande habituelle :

javac Cylindre.class

Faites de même pour compiler la classe Calcul.class :

javac Calcul.class

La première classe se compile sans aucun problème. La deuxième produit une erreur de compilation : la classe Cylindre n’est pas accessible.

Pour solutionner ce problème, vous allez utiliser un paquetage (package en anglais).

Ajoutez l’instruction suivante au début du fichier Cylindre.java :

package test.classeCylindre;

Cette instruction indique que la classe Cylindre fait partie d’un paquetage. Le fichier Cylindre.java peut se trouver n’importe où dans l’arborescence du disque, mais la fin de son chemin d’accès doit être test\classeCylindre.

Pour pouvoir accéder à la classe Cylindre, insérez l’instruction suivante au début du fichier Calcul.java :

import test.classeCylindre.Cylindre;

Recompilez les classes Cylindre et Calcul avec les commandes habituelles. Lors de la compilation de la classe Calcul, une erreur se produit : la classe test.classeCylindre.Cylindre reste inaccessible !

Remplacez la commande de compilation traditionnelle :

javac Calcul.java

Par la commande suivante :

javac -cp chemin/;. Calcul.java

chemin est le chemin d’accès au package (c’est-à-dire au dossier test). Si par exemple, le package se trouve dans le dossier suivant :

g:\data\Mediaforma SARL\Formation\Futures\Java\code

La commande à utiliser sera :

javac –cp "g:\data\Mediaforma SARL\Formation\Futures\Java\code" Calcul.java

Cette commande indique au compilateur le chemin (option cp pour classpath) où chercher la classe Cylindre.

Exécutez la classe Calcul avec la commande suivante :

java –cp dossiers Calcul

dossiers représente le dossier d’accès au package et le dossier courant, séparés entre eux par un « ; ». Si par exemple, le package se trouve dans le dossier suivant :

g:\data\Mediaforma SARL\Formation\Futures\Java\code

La commande à utiliser sera :

java -cp "g:\data\Mediaforma SARL\Formation\Futures\Java\code";. Calcul

Voici le résultat :

g:\data\Mediaforma SARL\Formation\Futures\Java\code\test\autreDossier>java -cp .;
"g:\data\Mediaforma SARL\Formation\Futures\Java\code" Calcul
1570.7500000000002
g:\data\Mediaforma SARL\Formation\Futures\Java\code\test\autreDossier>

La classe est bien exécutable et elle fournit le résultat attendu.

Le passage des dossiers à la compilation et à l’exécution peut sembler complexe. Comme nous le verrons par la suite, le processus est entièrement automatisé si vous utilisez NetBeans.

Vous avez aimé cet article ? Partagez-le avec vos réseaux...
 
Comments

No comments yet.

Leave a Reply