Dato il seguente codice:
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.
}
};
}
}
Voglio accedere Container.select()
dal select()
metodo della mia classe anonima . Tuttavia, this.select()
chiamerebbe nuovamente il select()
metodo della classe anonima .
Il mio suggerimento sarebbe:
Introdurre un campo nel contenitore, ad es
private Container self = this;
Ora posso accedere Container.select()
chiamando self.select()
dall'interno della classe anonima.
È un modo ragionevole? O ci sono modi migliori?
this
parole chiave potessero essere differenziate proprio come i metodi e gli attributi. +1