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 acceder Container.select()desde el select()método de mi clase anónima . Sin embargo, this.select()volvería a llamar al select()método de la clase anónima .
Mi sugerencia sería:
Introducir un campo en el contenedor, p. Ej.
private Container self = this;
Ahora puedo acceder Container.select()llamando self.select()desde dentro de la clase anónima.
¿Es esta una forma razonable? ¿O hay mejores formas?
java
this
anonymous-class
Beto
fuente
fuente

thispalabras clave podían diferenciarse del mismo modo que los métodos y los atributos. +1Containerclase Exactamente aquí. Ninguno de sus antepasados no será aceptado.¡Puedes escribir
Container.this.select()a distintos de la clase interna!fuente