我已經通讀了內部類教程,並不理解一件事。它被說,內部類持有隱藏引用外部類,所以我想出了通過這個簡單的類幾個問題:本地內部類
public class OuterClass {
public void doSomething() {
JButton button = new JButton();
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
}
});
}
}
因此,我們必須駐留內部方法doSomething()
一個局部內部類和我有一些問題參與其中。
這個本地內部類是否持有對OuterClass的引用,因爲它是本地的?
在方法
doSomething()
終止後,這個本地內部類是否保持內存?是否有任何情況下OuterClass符合GC的條件,但本地內部類仍然被其他類引用?會發生什麼?
你從未投過票,也沒有接受過你以前的問題的答案。請改進。 – asgs 2011-05-30 09:13:21
很好的問題......至少對我而言。 – 2011-05-30 09:14:59
我覺得喜歡這個問題,但後來看着你的個人資料,你從來沒有接受過答案,甚至從來沒有投票給任何人,所以對不起,你錯過了我的祝福。 – 2011-05-30 09:16:06