Доступ "это" из анонимного класса Java
учитывая следующий код:
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.
}
};
}
}
Я хочу получить доступ к Container.select()
из моего анонимного класса'select()
метод. Однако,this.select()
снова вызовет анонимный класс'select()
метод.
мое предложение было:
введите поле в контейнер, например
private Container self = this;
теперь я могу получить доступ к Container.select()
по телефону self.select()
из анонимного класса.
это разумный путь? Или есть какие-то лучшие способы?