私は現在、匿名の内部クラスで参照する名前を持つように、外部クラスでこれへの明示的な参照を作成しています。これを行うより良い方法はありますか?Javaの匿名の内部クラスから囲むクラスへの参照を取得するにはどうすればよいですか?
47
A
答えて
85
私は最近、これを見つけました。 OuterClassName.this
を使用してください。を更新しました
class Outer {
void foo() {
new Thread() {
public void run() {
Outer.this.bar();
}
}.start();
}
void bar() {
System.out.println("BAR!");
}
}
あなただけの(代わりに呼び出すメンバーの)オブジェクト自体をしたい場合は、Outer.this
は進むべき道です。
19
使用EnclosingClass.this
1
あなたはまだあなたがアクセスしたい場合は
を((Outer.this.getClassと同じクラスのオブジェクトを返す)が、より効率的であるだろう)外部クラスのオブジェクトのクラスを取得するためにOuter.classを使用することができます囲むクラスの静的な場合は、Outer.nameを使用できます.nameは静的なフィールドまたはメソッドです。
関連する問題
- 1. Javaでは、匿名の内部クラスを内部でどのように参照できますか?
- 2. 匿名のクラスを行う*常に*それらの囲むインスタンスへの参照を保持しますか?
- 3. Kotlinで匿名の内部クラスを参照する方法は?
- 4. PreferencesActivityクラスからcontentViewへの参照を取得するにはどうすればよいですか?
- 5. JavaのStringからクラス参照を取得するにはどうすればよいですか?
- 6. 別のクラスへの参照を正しく取得するにはどうすればよいですか?
- 7. ECMAScript 6 - クラス内から「self」への参照を渡すにはどうすればよいですか?
- 8. 匿名クラスは外部参照を有効にしますか?
- 9. 関数パラメータとして匿名の内部クラスから囲むクラスオブジェクトを取得する
- 10. Eclipse JUnit Javaクラス内からテキストファイルを参照するにはどうすればよいですか?
- 11. Django:参照されるクラスのクラスメソッドから外部キーのクラスを取得するにはどうすればよいですか?
- 12. ジェネリックの内部からクラスの型を取得するにはどうすればよいですか?
- 13. 低レベルのクラス属性からC#の同じクラス内のトップレベルの属性に参照を取得するにはどうすればよいですか?
- 14. 匿名の内部クラスのインスタンス変数の参照
- 15. Groovyで匿名の内部クラスのようなものを取得するにはどうすればよいですか?
- 16. Javaの内部クラスから変数を読み取るにはどうすればよいですか?
- 17. Javaの空の匿名の内部クラス
- 18. Javaの匿名クラスまたはネストクラスの包含クラスを参照する方法
- 19. Javaのリスト内の内部クラスを参照するには
- 20. kotlinの匿名クラス内で親クラスを取得する方法
- 21. コンテナのIDからGoogleマップオブジェクトへの参照を取得するにはどうすればよいですか?
- 22. メソッド内でオブジェクト(匿名の内部クラスを参照する)を "null"に設定できますか?
- 23. VueJsコンポーネント内のGoogleマップオブジェクトへの参照を取得するにはどうすればよいですか?
- 24. 他のアセンブリから内部クラスを参照できるようにする
- 25. Javaで匿名の内部クラス内で外部クラスのインスタンスにアクセス
- 26. Java:匿名の内部クラスで外部クラスメソッドを呼び出す
- 27. Python:内部から関数への参照を取得する
- 28. PHPでクラスを参照するにはどうすればよいですか?
- 29. モジュール内のフィールドを参照する匿名プロバイダを別のクラスに移動するにはどうすればよいですか?
- 30. 匿名内部クラス
感謝!これは長い間私を悩ませています。幸いなことに、グーグルサーチをすばやく実行できました。 – aglassman