« Programmation Java/Paquetages » : différence entre les versions
Contenu supprimé Contenu ajouté
Aucun résumé des modifications |
m <source> -> <syntaxhighlight> (phab:T237267) |
||
Ligne 12 :
pour inclure la classe Toto dans l'extension '<code>mesPackages.sousPackage1</code>', écrire au début du fichier '''Toto.java''' :
<
package mesPackages.sousPackage1;
// ne pas oublier le point-virgule en fin de ligne
</syntaxhighlight>
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 :
<
import mesPackages.sousPackage1.Toto;
</syntaxhighlight>
ou
<
import mesPackages.sousPackage1.*;
// importation de toutes les classes
// de l'extension mesPackage.sousPackage1
</syntaxhighlight>
ou utiliser directement une référence à l'extension :
<
mesPackages.sousPackage1.Toto toto
= new mesPackages.sousPackage1.Toto();
</syntaxhighlight>
== Remarques ==
Ligne 40 :
Les bibliothèques Java destinées à ê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 :
<
package org.wikibooks.exemple;
</syntaxhighlight>
== Compilation ==
Ligne 49 :
Par exemple, le fichier <code>Toto.java</code> définit la classe <code>Toto</code> de l'extension <code>org.wikibooks.exemple</code> débute par :
<
package org.wikibooks.exemple;
class Toto ...
</syntaxhighlight>
et '''doit''' se situer dans le répertoire <code>org/wikibooks/exemple</code>.
Ligne 67 :
Exemple 1 :
<
double r = Math.cos(Math.PI * theta);
</syntaxhighlight>
L'import statique permet d'importer les membres statiques d'une classe afin de ne pas nommer la classe en question.
Exemple 1 :
<
// importer le membre statique PI seulement
import static java.lang.Math.PI;
...
double r = Math.cos(PI * theta);
</syntaxhighlight>
Exemple 2 :
<
// importer tous les membres statiques de la classe java.lang.Math
import static java.lang.Math.*;
...
double r = cos(PI * theta);
</syntaxhighlight>
L'abus d'import statique n'est pas conseillé car le code ne contient plus de référence à la classe définissant le membre statique utilisé. Il ne faut l'utiliser que si les membres statiques d'un petit nombre de classes sont utilisés fréquemment.
Ligne 96 :
Par exemple, pour compiler et lancer une classe d'un projet du dossier parent (contenant deux répertoires : <code>/source</code> et <code>/libraries</code>) compiler :
<
$ javac -classpath libraries/lib.jar source/MainClass.java
</syntaxhighlight>
Puis le lancer :
<
$ java -classpath libraries/lib.jar source/MainClass
</syntaxhighlight>
Cela nécessite que <code>MainClass</code> soit le package par défaut, ou un package appelé <code>source</code>, ce qui n'est pas très explicite.
|