[問題] 關於存取物件或attribute的問題

看板java作者 (葛利)時間10年前 (2015/04/12 15:56), 編輯推噓1(103)
留言4則, 2人參與, 最新討論串1/1
各位好 我最近在練習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

04/12 17:22, , 1F
不對,只有primitive type傳值,Object傳reference存取
04/12 17:22, 1F

04/12 17:23, , 2F
希望你用程式碼例子來描述你預期的情況,不然僅描述看不懂
04/12 17:23, 2F

04/12 19:01, , 3F
喔喔這樣講我懂了 謝謝 我的疑問就是只傳值還是refere
04/12 19:01, 3F

04/12 19:01, , 4F
nce
04/12 19:01, 4F
文章代碼(AID): #1LAYKbrK (java)
文章代碼(AID): #1LAYKbrK (java)