method - oracle java nested class
Acceda a "esto" desde la clase anĂ³nima de Java (2)
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 a Container.select()
desde mi método anónimo de clase '' select()
. Sin embargo, this.select()
volvería a llamar al método '' select()
'' de la clase anónima.
Mi sugerencia sería:
Introducir un campo en el contenedor, por ejemplo
private Container self = this;
Ahora puedo acceder a Container.select()
llamando a self.select()
desde dentro de la clase anónima.
¿Es esta una manera razonable? ¿O hay alguna forma mejor?
¡Puedes escribir Container.this.select()
para distinguirlo de la clase interna!
Container.this.select();