Greifen Sie über die anonyme Java-Klasse auf "this" zu

Mit folgendem Code:

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.
      }
    };
  }
}

Ich möchte zugreifenContainer.select() aus meiner anonymen Klasse 'select() Methode. Jedoch,this.select() würde wieder die anonyme Klasse anrufen 'select() Methode.

Mein Vorschlag wäre:

Fügen Sie ein Feld in den Container ein, z.

private Container self = this;

Jetzt kann ich zugreifenContainer.select() telefonischself.select() aus der anonymen Klasse.

Ist das ein vernünftiger Weg? Oder gibt es bessere Möglichkeiten?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage