Dado o seguinte 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.
}
};
}
}
Quero acessar Container.select()
de dentro da minha classe anônima 'select()
método da . No entanto, this.select()
chamaria novamente o select()
método da classe anônima ' .
Minha sugestão seria:
Introduzir um campo no Container, por exemplo
private Container self = this;
Agora eu posso acessar Container.select()
chamandoself.select()
de dentro da classe anônima.
Esta é uma maneira razoável? Ou existem maneiras melhores?
this
palavras-chave poderiam ser diferenciadas, assim como métodos e atributos. +1