Classe imbriqué
Fermé
securinets
Messages postés
77
Date d'inscription
dimanche 30 septembre 2012
Statut
Membre
Dernière intervention
11 septembre 2014
-
28 mars 2013 à 23:53
KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 29 mars 2013 à 19:11
KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 29 mars 2013 à 19:11
2 réponses
Flog78
Messages postés
16
Date d'inscription
mercredi 28 novembre 2012
Statut
Membre
Dernière intervention
17 mai 2013
4
29 mars 2013 à 15:47
29 mars 2013 à 15:47
C'est simplement une classe qui se trouve à l'intérieur d'un autre.
Voici un exemple :
Voici un exemple :
public class Test4 { private Element monElement; public static void main(String[] args) { new Test4(); } public Test4() { monElement = new Element("Toto"); System.out.println(monElement.getName()); } private class Element { String name; public Element(String name) { this.name = name; } public String getName() { return name; } } }
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
Modifié par KX le 29/03/2013 à 19:12
Modifié par KX le 29/03/2013 à 19:12
L'utilisation de classes imbriquées permet d'avoir un objet "normal" qui fait un traitement important, et un ou plusieurs objets "dépendants" du premier qui ont accès à toutes ses méthodes et attributs pour effectuer un traitement plus spécifiques.
Exemple (bidon) :
On peut notamment avoir besoin de ce genre de classes internes pour implémenter une interface directement dans le code (pour les Iterator dans les Collection, des Listener dans les interfaces graphiques, des Threads, etc.)
Exemple (bidon) :
public class A { public int x; public class B { public int y; public int f() { return x+y; } } public static void main(String[] args) { A a = new A(); a.x = 1; B b = a.new B(); b.y = 2; System.out.println(b.f()); } }
On peut notamment avoir besoin de ce genre de classes internes pour implémenter une interface directement dans le code (pour les Iterator dans les Collection, des Listener dans les interfaces graphiques, des Threads, etc.)
29 mars 2013 à 16:51
29 mars 2013 à 16:58