Accede a “esto” desde la clase anónima de Java.

Dado el siguiente código:

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

Quiero accederContainer.select() desde dentro de mi clase anónima 'select() método. Sin embargo,this.select() volvería a llamar a la clase anónima 'select() método.

Mi sugerencia sería:

Introduce un campo en el contenedor, por ejemplo.

private Container self = this;

Ahora puedo accederContainer.select() llamandoself.select() desde dentro de la clase anónima.

¿Es esta una manera razonable? ¿O hay formas mejores?

Respuestas a la pregunta(2)

Su respuesta a la pregunta