Est-il possible d'obtenir une référence à this
à partir d'une classe interne Java?
c'est à dire.
class Outer {
void aMethod() {
NewClass newClass = new NewClass() {
void bMethod() {
// How to I get access to "this" (pointing to outer) from here?
}
};
}
}
Vous pouvez accéder à l'instance de la classe externe de la manière suivante:
Outer.this
Extérieur
c'est à dire.
class Outer {
void aMethod() {
NewClass newClass = new NewClass() {
void bMethod() {
System.out.println( Outer.this.getClass().getName() ); // print Outer
}
};
}
}
BTW En Java, les noms de classe commencent par majuscule par convention.
Ajoutez le nom de classe de la classe externe à ceci:
outer.this
oui, vous pouvez utiliser le nom de classe externe avec this . outer.this
Extra: Ce n'est pas possible quand la classe interne est déclarée 'statique'.