欢迎各界计算机爱好者加入,弘扬极客精神!

Java里的传引用和传值的区别是什么?

0 喜欢 0 不喜欢
最新提问 5月 18, 2016 分类:iOS | 用户: fengzi (100 分)  

9 个回答

1 喜欢 0 不喜欢
 
已采纳

传值,方法不会改变实参的值。

传引用,方法体内改变形参引用,不会改变实参的引用,但有可能改变实参对象的属性值.

最新回答 5月 19, 2016 用户: 梦阑珊 (4,228 分)  
采纳于 5月 23, 2016 用户:小太阳
1 喜欢 0 不喜欢

基本数据类型传递时值传递;
对象传递都是引用传递
你可以传一个int和integer,改变一下值在输出看看,就明确了

最新回答 5月 18, 2016 用户: zhuqingshan (2,116 分)  
1 喜欢 0 不喜欢

java中只有值传递,没有引用传递,记住这点就行了

最新回答 5月 18, 2016 用户: yuqiancheng (3,398 分)  
0 喜欢 0 不喜欢

传值就是你改变这个值,不会改变原值;
传引用就是你改变这个值,不会改变原值;
java方法基本数据类型是传值,对象类型传引用,这是千真万确的。
当参数是对象时,无论方法体内进行了何种操作,都不会改变实参对象的引用。
当参数是对象时,只有在方法内部改变了对象的内容时,才会改变实参对象内容。

最新回答 5月 18, 2016 用户: jiangpengfeng (3,046 分)  
0 喜欢 0 不喜欢
默认情况下是引用传递

OjbectA a1 = new ObjectA();
OjbectA a2 = a1;
引用传递时,对a2操作相当与对a1操作
也就是说:a2 与a1 是同一个对象的两个不同的名字

而在值传递时,a2会另外分一个与a1不同的空间
对任何一个对象操作都不影响到对方
最新回答 5月 18, 2016 用户: 云淡风轻暖 (4,336 分)  
0 喜欢 0 不喜欢

传引用是指传递的是地址而不是值本身,传值则是传递值的一份拷贝。

最新回答 5月 19, 2016 用户: HONG (2,002 分)  
0 喜欢 0 不喜欢
值传递是保存在stack 中的,引用传递保存在heap中
最新回答 5月 19, 2016 用户: Cunese (6,440 分)  
0 喜欢 0 不喜欢
比如主函数中调用一个函数,值传递就是函数被调用结束以后主函数中调用时用的实参是不会受到影响的,即使在函数中对形参进行了修改,当函数最后一个}被读完以后即调用结束后,形参的任何修改都无效了。引用传递是受影响的,相当于C语言中的指针参数以及C++中的引用类型。
最新回答 5月 20, 2016 用户: peter (9,864 分)  
0 喜欢 0 不喜欢
只有传值 没有传引用 引用类型实质上是指针
最新回答 5月 22, 2016 用户: ABCDEFG (4,148 分)  
...