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
this
palabras clave podían diferenciarse del mismo modo que los métodos y los atributos. +1Container
clase Exactamente aquí. Ninguno de sus antepasados no será aceptado.¡Puedes escribir
Container.this.select()
a distintos de la clase interna!fuente