Доступ "this" из анонимного класса 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() из анонимного класса.

Это разумный способ? Или есть ли лучшие способы?

Ответ 1

Container.this.select();

Ответ 2

Вы можете написать Container.this.select() в отличие от внутреннего класса!