Re: [問題] 幾個書上習題的問題

看板java作者時間19年前 (2007/01/31 23:49), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/5 (看更多)
※ 引述《DavyBlue (失意男)》之銘言: : 給定 : class CardBoard { : Short story =200; : CardBoard go(CardBoard cb) { : cb = null; : return cb; : } : public static void main(String[] args){ : CardBoard c1 = new CardBoard(); : CardBoard c2 = new CardBoard(); : CardBoard c3 = c1.go(c2); : c1 = null; : //do something : }} : 當到達//do something時 多少物件有資格被自動回收? : 正解是2個 : 但是我怎麼看都有4個...(雖然選項只有0,1,2,編譯錯誤,balah..) : 因為go()回傳null c3應該也有資格 : 然後引數傳入go()時cb=null 應該也有資格 : 但是正解只說c1與story有資格 難道是我想太多? 自回 第一題 有new物件只發生在c1 c2指標變數 傳入go()方法後 產生的變化只有 cb先指到與c2同樣的物件 然後指到null c3是自始至終都只有指到null 只有c1指到的那個物件沒有人指到他 故.... 答案是c1及story 至於story怎麼來的...在初始化後沒人用過他當然能回收... 結果在打完文章後自己就想到了 看來還是要多寫程式=.= 這篇也可以留著讓各位版友參考 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.113.77.108 ※ 編輯: DavyBlue 來自: 59.113.77.108 (01/31 23:53)
文章代碼(AID): #15mBg2ws (java)
討論串 (同標題文章)
文章代碼(AID): #15mBg2ws (java)