精華區beta java 關於我們 聯絡資訊
※ 引述《chiO722.bbs@wretch.twbbs.org (chi)》之銘言: > 請問為何將Object instance當作參數傳送時,Java定義為pass-by-value,而不是 > pass-by-reference? 作為 parameter, 請記著它所傳的並不是 object instance. 那是 object reference. object reference 與 primitive type 一樣, 是 pass-by-value 的. 情況就如同 C/C++ 中傳 pointer 一樣, pointer 本身是 pass-by-value 的. Alien -- ┌─────程式設計樂園─────┐  線上音樂新震撼   CSZone.kkcity.com.tw ^_^ / 隨選隨播免等待 KKBOX ^_^ / └──From:218.103.234.179 ──┘   http://www.kkbox.com.tw   > -------------------------------------------------------------------------- < 發信人: chwan@kkcity.com.tw (TaiwanTouchYourHeart), 看板: java 標 題: Re: 請問pass-by-value和pass-by-reference 發信站: KKCITY (Wed Jun 30 15:21:09 2004) 轉信站: ptt!ctu-reader!ctu-peer!news.nctu!netnews.csie.nctu!news.ee.ttu!news.n ※ 引述《chiO722.bbs@wretch.twbbs.org (chi)》之銘言: > 請問為何將Object instance當作參數傳送時,Java定義為pass-by-value,而不是 > pass-by-reference? 要傳遞的物件要 implement java.lang.Cloneable, 實作 clone 的方法. 而且, caller 與 callee 要協調好有關函數呼叫的合約, 看是要在 caller 使用上述 clone 的方法, 還是要在 callee 使用. (在 callee 使用似乎可透過 dynamic proxy 的技巧來簡化程式碼的量) -- ┌─────KKCITY─────┐  ̄ ▌ ̄ ╲╱ BBS 城邦 bbs.kkcity.com.tw ╴ ▌ ▌ ▏ KK免費撥接 └──From:61.64.116.89 ──┘ 電話:449-1999 帳號:kkcity 密碼:kkcity