2009-07-05 8 views
120

は、次のコードを考えます。ただし、this.select()は再び匿名クラス 'select()メソッドを呼び出します。アクセスが「これは」Javaの匿名クラスから

フィールドをコンテナに挿入します。たとえば、次のように入力します。

private Container self = this; 

今、私は匿名クラス内からself.select()を呼び出すことによってContainer.select()にアクセスすることができます。

これは合理的な方法ですか?それとも良い方法がありますか?

答えて

236
Container.this.select(); 
+9

これは私にとって全く新しいものです。 –

+1

「this」のキーワードでも、メソッドや属性と同様に区別することはできませんでした。 +1 –

+0

ここでは厳密に 'Container'クラスを指定する必要があることに注意してください。その祖先は受け入れられません。 – velis

39

Container.this.select()を内部クラスと区別することができます。

関連する問題