|
Les classes internes (inner classes) sont une extention du langage java introduite dans la version 1.1 du JDK. Ce sont des classes qui sont définies dans une autre classe. Lorsque plusieurs classes internes sont imbriquées, il n’est pas possible d’utiliser un nom pour la classe qui soit déjà attribué à une de ses classes englobantes.
Exemple :
public class ClassePrincipale {
class ClasseInterne1 {
class ClasseInterne2 {
class ClasseInterne3 {
}
}
}
}
Une classe interne a accès à tous les membres de sa classe principale. Dans le code, pour pouvoir faire référence à un membre de la classe principale, il suffit simplement d’utiliser son nom de variable.
Exemple :
public class ClassePrincipale {
int valeur = 5;
class ClasseInterne {
int var = 3;
public void affiche() {
System.out.println("var = " + var);
System.out.println("this.var = " + this.var);
System.out.println("valeur = " + valeur);
}
}
ClasseInterne ci = this.new ClasseInterne();
public static void main(String[] args) {
ClassePrincipale cp = new ClassePrincipale();
ClasseInterne ci = cp.new ClasseInterne();
ci.affiche();
}
}
|