Biorąc pod uwagę 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ęp Container.select()z select()metody mojej klasy anonimowej . Jednak this.select()ponownie wywołałby select()metodę klasy anonimowej .
Moja sugestia byłaby taka:
Wprowadź pole do kontenera, np
private Container self = this;
Teraz mogę uzyskać dostęp Container.select(), dzwoniąc self.select()z klasy anonimowej.
Czy to rozsądny sposób? Czy są jakieś lepsze sposoby?
thisże można rozróżniać nawet słowa kluczowe, tak jak metody i atrybuty. +1