Étant donné le code suivant:
public interface Selectable {
public void select();
}
public class Container implements Selectable {
public void select() {
...
}
public void createAnonymousClass() {
Selectable s = new Selectable() {
public void select() {
//see comment below.
}
};
}
}
Je souhaite accéder à Container.select()
à partir de la méthode _ select()
de ma classe anonyme. Cependant, this.select()
appellerait à nouveau la méthode de classe anonyme 'select()
.
Ma suggestion serait:
Introduisez un champ dans Container, par ex.
private Container self = this;
Maintenant, je peux accéder à Container.select()
en appelant self.select()
à partir de la classe anonyme.
Est-ce une manière raisonnable? Ou existe-t-il de meilleures façons?
Container.this.select();
Vous pouvez écrire Container.this.select()
pour le distinguer de la classe interne!