作者ptt0720 (湿湿)
看板java
标题[问题] 传物件问题
时间Sun Dec 24 03:02:26 2017
大家都知道java传物件是传参考
但是刚才遇到一个问题
我把某个物件c1传到某个方法A 在A里面把另外一个同型态的物件assignment给c1(不是物件成员 是整个物件)
但是在原本呼叫A的方法中c1还是c1
物件的成员可以这样子assignment
但是今天才知道整个物件不能这样子assignment
想请问有人知道在java内部是如何运作的吗
(怕观念有误马上用手机问一下 如果不明白的话我会在补上code)
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 163.22.18.56
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1514055749.A.A6D.html
1F:→ ssccg: java传物件不是传参考,是复制一份参考(在C/C++中叫指标的) 12/24 03:23
2F:→ ssccg: 方法中的变数(不论数值类型还是参考类型)怎麽改都不影响呼 12/24 03:24
3F:→ ssccg: 叫的地方 12/24 03:24
4F:→ ptt0720: 但是我在方法中改物件的成员变数 实际上也被改变了 12/24 03:39
5F:→ ssccg: 物件的成员变数是物件的成员变数,不是方法的区域变数 12/24 03:56
7F:→ jej: 你给的那个已经是另一个instance 12/24 06:45
8F:→ pttworld: 想像手中本来有个箭头指某一物件,换指另一物件。 12/24 07:38
9F:推 LPH66: 接楼上的比喻, 函式外的箭头跟函式内的箭头不是同一个 12/24 12:48
10F:→ ptt0720: 懂了 谢谢各位 12/26 02:26