作者kuramu1108 (葛利)
看板java
標題[問題] 關於存取物件或attribute的問題
時間Sun Apr 12 15:56:19 2015
各位好
我最近在練習java的時候突然想到一個問題
平常用function來取得一個object的attribute並儲存在一個local variable後
不論如何修改該local variable的數值 其存在於obeject裡的原值並不會改變
可是如果利用get()來取得一個list裡的object並存在local variable
再call任意該object的procedure來對attribute進行修改 其值會被永久改變
這是因為前例是將attribute的值複製並assign到local variable上
而後者是將local variable的pointer(?)指到list裡的object嗎?
不知道我理解的對不對 想找相關文章也不知道要搜尋什麼關鍵字
懇請版上大大開導
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 58.172.147.39
※ 文章網址: https://www.ptt.cc/bbs/java/M.1428825381.A.D54.html
推 ClareQ: 不對,只有primitive type傳值,Object傳reference存取 04/12 17:22
→ ClareQ: 希望你用程式碼例子來描述你預期的情況,不然僅描述看不懂 04/12 17:23
→ kuramu1108: 喔喔這樣講我懂了 謝謝 我的疑問就是只傳值還是refere 04/12 19:01
→ kuramu1108: nce 04/12 19:01