Dado el siguiente código:acceso "este" de Java clase anónima
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()
de 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:
introducir un campo en el envase, por ejemplo,
private Container self = this;
Ahora puedo acceder Container.select()
llamando self.select()
desde dentro de la clase anónima.
¿Es esta una manera razonable? ¿O hay alguna forma mejor?
Ahora que es algo completamente nuevo para mí. –
No sabía que incluso las palabras clave 'this' podrían diferenciarse tal como lo hacen los métodos y los atributos. +1 –
Debe tenerse en cuenta que debe especificar exactamente la clase 'Container' aquí. Cualquiera de sus antepasados no será aceptado. – velis