« Programmation Java/Paquetages » : différence entre les versions

Contenu supprimé Contenu ajouté
Correction + <source>
Ligne 1 :
{{Programmation Java}}
Les extensions, ou ''packages'', permettent de grouper ensemble des classes rattachées, à la manière des dossiers qui permettent de classer des fichiers.
 
 
== Utilisation ==
Ligne 11 ⟶ 10 :
 
pour inclure la classe Toto dans l'extension '<tt>mesPackages.sousPackage1</tt>', écrire au début du fichier '''Toto.java''':
<source lang="java">
package mesPackages.sousPackage1;
// ne pas oublier le point-virgule en fin de ligne
</source>
 
La structure des répertoires doit suivre le nom de l'extension, c'est-à-dire que le fichier '''Toto.java''' doit se situer dans un sous-répertoire '''mesPackages/sousPackage1/Toto.java'''.
 
Lorsqu'ensuite on désire utiliser la classe Toto depuis une autre classe, il faudra au préalable écrire:
<source lang="java">
import mesPackages.sousPackage1.Toto;
</source>
ou
<source lang="java">
import mesPackages.sousPackage1.*;
// importation de toutes les classes
// de l'extension mesPackage.sousPackage1
</source>
ou utiliser directement une référence à l'extension :
<source lang="java">
mesPackages.sousPackage1.Toto toto
= new mesPackages.sousPackage1.Toto(); toto
= new mesPackages.sousPackage1.Toto toto();
</source>
 
== Remarques ==
Ligne 30 ⟶ 37 :
En ''Java'', les programmeurs attribuent généralement un nom qui commence par une minuscule pour une extension, et un nom qui commence par une capitale pour une classe.
 
Les bibliothèques Java destinées à étreêtre distribuées regroupent leurs classes dans une ou plusieurs extensions dont le nom est normalement précédé par un nom de domaine (dans l'ordre inverse), par exemple:
<source lang="java">
package org.wikibooks.exemple;
</source>
 
== Compilation ==
Ligne 38 ⟶ 47 :
 
Par exemple, le fichier <tt>Toto.java</tt> définit la classe <code>Toto</code> de l'extension <tt>org.wikibooks.exemple</tt> débute par :
<source lang="java">
package org.wikibooks.exemple;
 
class Toto ...
</source>
et '''doit''' se situer dans le répertoire <tt>org/wikibooks/exemple</tt>.
 
Supposons que le chemin du fichier soit <tt>/home/me/javaprog/org/wikibooks/exemple/Toto.java</tt>.
La compilation se fait en utilisant la commande suivante :
javac -cpclasspath /home/me/javaprog/ org/wikibooks/exemple /Toto.java
 
Quand un programme Java utilise cette classe, il doit être compilé et exécuté en spécifiant <tt>/home/me/javaprog</tt> pour le paramètre ''classpath'' :
javacjava -cpclasspath .:/home/me/javaprog TestTotoorg.wikibooks.exemple.Toto
 
== Import statique ==