考虑下面的代码:
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.
}
};
}
}
我想访问Container.select()
从我的匿名类中select()
方法。 然而, this.select()
将再次调用匿名类的select()
方法。
我的建议是:
介绍一个领域到容器,如
private Container self = this;
现在,我可以访问Container.select()
调用self.select()
从匿名类中。
这是一个合理的方式? 还是有什么更好的办法?