作者Robert0512 (天天衝浪三國無雙)
看板java
標題Re: [問題] 解構的順序
時間Sat Mar 15 18:31:33 2008
※ 引述《tkcn (小安)》之銘言:
: ※ 引述《Robert0512 (天天衝浪三國無雙)》之銘言:
: : 但我用java做實驗
: : 同樣的繼承順序
: : 解購時卻是a->b->c
: : 很疑惑
: : 這是對的嘛?
: 實驗做錯囉,
: 因為 method overriding 的關係,
: gc 對打算回收的物件呼叫 finalize 時,
: 只會呼叫到 C.finalize()。
: 我猜,之所以你會看到 a, b, c 的順序,
: 大概是你把 C.finalize() 寫成這樣子吧,
: public void finalize(){
: super.finalize();
: // 以下略
: }
: XD
喔喔 我是把每個的finalize()都寫不同的
譬如C就是
public void finalize(){
System.out.printly("this is C");
}
這樣會有問題出現嗎?
--
握緊手 裡面什麼都沒有
鬆開手 你擁有的是一切
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 209.2.50.98
推 tkcn:這樣的話, 我認為 gc 應該只會印出 C 才對? 03/15 18:57
→ Robert0512:沒錯~t大說對了 只印出c來而已 XD 03/15 19:15
推 superlubu:那... 你第一篇的疑問是怎麼來的 ( ̄□ ̄|||)a 03/15 19:18
就如同t大說的
我之前寫的super.finalize()我忘記註解起來XD
難怪一直覺得怪怪的 囧
※ 編輯: Robert0512 來自: 209.2.50.98 (03/15 19:23)