【发布时间】:2010-11-08 05:16:19
【问题描述】:
给定以下代码:
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.
}
};
}
}
我想从我的匿名类的select() 方法中访问Container.select()。但是,this.select() 会再次调用匿名类的select() 方法。
我的建议是:
在Container中引入一个字段,例如
private Container self = this;
现在我可以通过在匿名类中调用self.select() 来访问Container.select()。
这是一种合理的方式吗?或者有没有更好的方法?
【问题讨论】:
标签: java this anonymous-class