如何从 Java 中的匿名内部类获取对封闭类的引用?
我目前正在外部类中创建对此的显式引用,以便我有一个名称可以在匿名内部类中引用。有没有更好的方法来做到这一点?
我目前正在外部类中创建对此的显式引用,以便我有一个名称可以在匿名内部类中引用。有没有更好的方法来做到这一点?
我最近才发现这个。用。OuterClassName.this
class Outer {
void foo() {
new Thread() {
public void run() {
Outer.this.bar();
}
}.start();
}
void bar() {
System.out.println("BAR!");
}
}
更新如果你只想要对象本身(而不是调用成员),那么就是要走的路。Outer.this
用EnclosingClass.this