16
最近、私はhereと書いたアンドロイドプロジェクトで不思議な問題に遭遇しました。私は何とか問題を解決しましたが、その背後にある正確な理由はまだ分かりません。Java:匿名の内部クラスで外部クラスメソッドを呼び出す
ここで、内部クラスの関数foo()を呼び出したいとしましょう。問題は、誰もがこれに関連する私の最後のquestionを確認することができれば、直接
foo();
または他に
OuterClass.this.foo();
外部クラスのインスタンスでそれを呼び出すようにそれを呼び出すの違い何、私は、感謝します、ですなぜエラーが発生するのかという手がかりを教えてください。どうもありがとう。
PS:静的でない内部クラスは、常に外部クラスのインスタンスを保持することがあります。だから、私はfoo()だけを使うと、そのインスタンスを使って外部関数を呼び出すでしょうか?
Thx。しかし、私は内部クラスが私の場合は同じ名前の関数を持っていないと確信しています。明示的な部分を除いて、他の具体的な違いはありますか? – Selkie
この文脈にはありません。あなたのソースに関する質問と、それを解決した変更が説明できないという事実を見ました。それはまったく影響してはいけません。これを行うことは、純粋にあなたが何を指しているかのあいまいさを解決することです... –
あなたは右です。私はそこで間違いを犯した。啓発に感謝します! – Selkie