题
这个问题已经有一个答案在这里:
- 抓住的外流的对象从内类对象 9答案
目前,我正在创造一个有明确提到这一外流,这样我有一个名称提到的匿名内部流的。有没有更好的方式做到这一点?
解决方案
我刚刚发现这个的最近。使用 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
你仍然可以使用Outer.class 要获得该类别的外流的对象(其将返回的同类物以外。这一点。getClass()但是效率更高)
如果你想要访问静态的封闭类,可以使用外。名称是静态的领域或方法。
不隶属于 StackOverflow