16
最近,我遇到了一個Android項目中的一個神祕問題,我描述了here。我以某種方式解決了這個問題,但仍然不知道背後的確切原因。Java:在匿名內部類中調用外部類方法
假設我想在內部類中調用函數foo()。現在的問題是,什麼是直接像
foo();
與外部類的實例
OuterClass.this.foo();
除了要求它,我將不勝感激,如果任何人都可以查看調用它的區別還是我有關這最後question,並給我一個關於爲什麼發生錯誤的線索。非常感謝。
PS:我在某處讀到非靜態內部類將永遠持有外部類的實例。那麼如果我只使用foo(),它會使用該實例調用外部函數?
Thx。但我敢肯定,在我的情況下,內部類沒有同名的函數。除顯式部分之外是否還有其他特定的區別? – Selkie 2012-01-28 06:28:13
不在此範圍內。我看着你的來源問題,以及你做出的改變解決了這個問題,這是莫名其妙的。這應該不會影響它。這樣做純粹是爲了澄清你指的是什麼含糊不清...... – 2012-01-28 06:34:36
你說得對。我在那裏犯了一個錯誤。感謝啓發! – Selkie 2012-01-28 15:15:18