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?

questionAnswers(2)

yourAnswerToTheQuestion