JAVA

publicité
JAVA - II
Paquets
Notion de paquet (package)
Un paquet regroupe sous un même espace de
nommage des classes ayant un lien logique,
thématique, etc.
Un paquet équivaut à un répertoire contenant des
fichiers classes
L'arborescence des répertoires contenant les classes
doit être identique à l'arborescence des packages
Un paquet peut contenir des sous-paquets
2
JL Damoiseaux - Dpt R&T
sources
packages
répertoires
Package Forme;
...
Forme
Package Forme.2D;
...
2D
Package Forme.3D;
...
3
3D
JL Damoiseaux - Dpt R&T
Notion de paquet (II)
Pour utiliser des classes contenues dans un paquet, il
faut :
–
–
utiliser leur nom long package.souspackage.Classe
utiliser la clause import
java.awt.List est le nom long d'une classe du paquet java.awt dont
le nom court est List
import package.* donne accès à toutes les classes
contenues dans package
le paquet de base java.lang est automatiquement
importé (import java.lang.*;) et ses classes sont
directement accessibles par leur nom court
4
JL Damoiseaux - Dpt R&T
Exemple
java.util.Scanner clavier =
new java.util.Scanner(java.lang.System.in);
java.lang.System.out.println(java.lang.Math.PI);
import java.util.Scanner;
Scanner clavier = Scanner(System.in);
System.out.println(Math.PI);
5
JL Damoiseaux - Dpt R&T
Création d'un paquet
L'instruction package doit être la première instruction du fichier
source, et indique à quel paquet appartient la ou les classe(s)
du fichier
S'il n'y a pas d'instruction package dans le fichier, une classe
appartient au paquet anonyme qui existe par défaut
package forme;
6
class Cercle {
double x, y, r;
void Cercle(double x, double y, double r) {
this.x = x; this.y = y; this.r = r;
}
class Carre {
…
}
JL Damoiseaux - Dpt R&T
Paquets et visibilité (I)
class c1 {
private int A;
public int D;
Package P1
Package P2
class c4 extends C1 {
...
}
}
class c2 extends C1 {
...
}
7
class c5 {
...
}
class c3 {
...
}
Accessible depuis C2
Accessible depuis C3
Accessible depuis C4
Accessible depuis C5
A
-
D
o
o
o
o
JL Damoiseaux - Dpt R&T
Paquets et visibilité (II)
class c1 {
private int A;
int B;
public int D;
Package P1
Package P2
class c4 extends C1 {
...
}
}
class c2 extends C1 {
...
}
8
class c5 {
...
}
class c3 {
...
}
Accessible depuis C2
Accessible depuis C3
Accessible depuis C4
Accessible depuis C5
A
-
B
o
o
-
D
o
o
o
JL Damoiseaux
- Dpt R&T
o
Paquets et visibilité (III)
class c1 {
private int A;
int B;
protected int C;
public int D;
Package P1
Package P2
class c4 extends C1 {
...
}
}
class c2 extends C1 {
...
}
9
class c5 {
...
}
class c3 {
...
}
Accessible depuis C2
Accessible depuis C3
Accessible depuis C4
Accessible depuis C5
A
-
B
o
o
-
C
D
o
o
o
o
o
o
JL Damoiseaux
o - Dpt R&T
Téléchargement