看板 java 關於我們 聯絡資訊
大家都知道java傳物件是傳參考 但是剛才遇到一個問題 我把某個物件c1傳到某個方法A 在A裡面把另外一個同型態的物件assignment給c1(不是物件成員 是整個物件) 但是在原本呼叫A的方法中c1還是c1 物件的成員可以這樣子assignment 但是今天才知道整個物件不能這樣子assignment 想請問有人知道在java內部是如何運作的嗎 (怕觀念有誤馬上用手機問一下 如果不明白的話我會在補上code) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 163.22.18.56 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1514055749.A.A6D.html
ssccg: java傳物件不是傳參考,是複製一份參考(在C/C++中叫指標的) 12/24 03:23
ssccg: 方法中的變數(不論數值類型還是參考類型)怎麼改都不影響呼 12/24 03:24
ssccg: 叫的地方 12/24 03:24
ptt0720: 但是我在方法中改物件的成員變數 實際上也被改變了 12/24 03:39
ssccg: 物件的成員變數是物件的成員變數,不是方法的區域變數 12/24 03:56
jej: 你給的那個已經是另一個instance 12/24 06:45
pttworld: 想像手中本來有個箭頭指某一物件,換指另一物件。 12/24 07:38
LPH66: 接樓上的比喻, 函式外的箭頭跟函式內的箭頭不是同一個 12/24 12:48
ptt0720: 懂了 謝謝各位 12/26 02:26