首页 新闻 会员 周边 捐助

java中的值传递和引用传递的区别?

0
悬赏园豆:20 [已解决问题] 解决于 2015-05-11 20:39

这几天复习考试,遇到了这个问题,虽然心里有点印象可是还是不太清楚,哪位博友给解释解释或者给推荐几个好的有关问题的链接也行

谢谢啦

虢国技酱的主页 虢国技酱 | 初学一级 | 园豆:184
提问于:2013-07-07 18:44
< >
分享
最佳答案
1

没那么复杂:java中除了原型和string之外,其他的都是引用传递。

收获园豆:20
在大地画满窗子 | 初学一级 |园豆:102 | 2013-07-07 21:10
其他回答(5)
0

哥们 ,java中都是值传递,没有引用传递这一说,都是进行的值传递,引用传递这一说法是不正确的!

jingling1234 | 园豆:202 (菜鸟二级) | 2013-07-07 23:21

是的,补充一点:java中方法的调用,传递的都是参数变量的一个拷贝,不管是基本类型还是引用类型

支持(0) 反对(0) 嗨,你的益达~~~ | 园豆:221 (菜鸟二级) | 2013-07-31 14:58
0

java中木有值传递那么一说,这种c++的思想用到java中不适用的!你懂得java是oop编程!

如果方法接受对象的时候,并非是”引用“而是指向的那个内存value。

重申java木有”引用“一说!当然你可以这样读,但是程序中木有,你或者可以理解为对象的标示!

Beyond-bit | 园豆:2885 (老鸟四级) | 2013-07-08 09:16
0

Java中的值传递和引用传递其实是同一回事,如果传递一个对象,其实传递的是该对象的地址值,也是一个值传递。之所以分开说估计是让初学者易于辨别吧。

5oHappy5oSad | 园豆:202 (菜鸟二级) | 2013-07-13 11:32
0

值传递和引用传递都是复制栈中的数据,引用其实是在中存储了中的某个对象的存储地址,举个例子堆中有个User对象,其在堆中的地址为1002,如果你定义的引用为user,其实user就是栈中的一个存储空间,它存储的内容就是1002。归根结底,正如上面大家说的值传递和引用传递其实都是复制栈中数据,不同的是值传递时复制计算所用的值,而引用传递复制的是对象的地址,你用这个堆地址去操作堆中数据。

零下三度 | 园豆:221 (菜鸟二级) | 2013-08-08 18:24
0

Java都是值传递,一种是传递常量值(8种原始数据类型和字符串),一种是传递引用值

想飞行的蚂蚁 | 园豆:220 (菜鸟二级) | 2014-04-22 17:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册