Uzyskaj dostęp do „this” z klasy anonimowej Java
Podany następujący kod:
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.
}
};
}
}
Chcę uzyskać dostępContainer.select()
z mojej anonimowej klasy ”select()
metoda. Jednak,this.select()
nazwałbym ponownie klasę anonimową ”select()
metoda.
Moja sugestia brzmi:
Wprowadź pole do kontenera, np.
private Container self = this;
Teraz mogę uzyskać dostępContainer.select()
poprzez dzwonienieself.select()
z anonimowej klasy.
Czy to rozsądny sposób? Czy są jakieś lepsze sposoby?