私は現在、外部クラスでこれへの明示的な参照を作成しているので、匿名の内部クラスで参照する名前があります。これを行うためのより良い方法はありますか?
15826 次
3 に答える
92
私は最近これを見つけました。を使用しOuterClassName.this
ます。
class Outer {
void foo() {
new Thread() {
public void run() {
Outer.this.bar();
}
}.start();
}
void bar() {
System.out.println("BAR!");
}
}
更新(メンバーを呼び出すのではなく)オブジェクト自体が必要な場合は、それOuter.this
が最適な方法です。
于 2008-08-27T20:40:40.300 に答える
19
使用するEnclosingClass.this
于 2008-08-27T20:40:06.417 に答える
1
Outer.class を使用して、外部クラス オブジェクトのクラスを取得することもできます (Outer.this.getClass() と同じ Class オブジェクトを返しますが、より効率的です)。
外側のクラスの static にアクセスする場合は、名前が静的フィールドまたはメソッドである Outer.name を使用できます。
于 2008-09-16T15:18:44.197 に答える