Compte tenu du 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 veux accéder à Container.select()partir de la select()méthode de ma classe anonyme . Cependant, this.select()j'appellerais à nouveau la select()méthode de la classe anonyme .
Ma suggestion serait:
Introduisez un champ dans Container, par exemple
private Container self = this;
Maintenant, je peux accéder Container.select()en appelant self.select()depuis la classe anonyme.
Est-ce une manière raisonnable? Ou y a-t-il de meilleures façons?
thismots - clés pouvaient être différenciés comme le peuvent les méthodes et les attributs. +1