Quand une classe C est définie dans un package pkg,
son nom est pkg.C.
Il en va d’ailleurs de même pour les constructeurs de la classe C.
Ainsi, le nom complet de la classe Point
définie dans le package
java.awt est java.awt.Point
.
On est donc censé écrire par exemple
C’est très lourd, pour l’éviter on peut introduire la déclaration suivante au début du fichier source
Et si le nom de classe Point
survient plus tard dans le fichier,
le compilateur sait que l’on a voulu dire java.awt.Point
.
Une autre déclaration possible en début de fichier est
Cela revient aux déclarations java.awt.C
effectuées
pour toutes les classes C du package java.awt.
Une variable (une méthode) d’une classe C est normalement désignée
en la préfixant par C. ;
mais dans le code de la classe elle-même le nom de la variable
suffit.
De même, dans le code des méthodes des objets (et des constructeurs)
une variable d’instance (une méthode) est normalement désignée
en la préfixant par this.
; mais le nom de la variable (méthode)
suffit.
Les notations complètes permettent parfois d’insister sur la nature d’une variable, et de surmonter le masquage des variables d’instance et de classe par des variables locales. Ces masquages ne sont pas toujours malvenus. Par exemple, nous avons tendance à donner aux constructeurs des arguments homonymes aux variables d’instance initialisées. Ce qui reste possible en explicitant les variables d’instance en tant que telles.
Dans le constructeur ci-dessus, this.val
est la variable
d’instance, val
tout court est l’argument.