日期:2014-05-20  浏览次数:20713 次

java中参数的传递方式
分两种,一种是值传递,一种是引用传递。

值传递,传递的是一个拷贝,就好像给你一带大米。引用传递,传递一个地址,就好像给你一张纸,纸上写着大米在厨房,你自己拿。

我虽然能理解,但是我还是初学,想请教大家写两个具体的方法来比较一下,欢迎大家讨论

------解决方案--------------------
没什么可讨论的,在JAVA里你不可能改变参数传递方式

原始类型都是值传递,对象类型永远是引用传递
------解决方案--------------------
知道参数传递在对象和int上的效果就可以了,多讨论也没什么意义。

------解决方案--------------------
java 没什么说的 多数是引用。值传递,是传输具体的数,或字符没什么价值。
------解决方案--------------------
java中采用的都是值传递
就是说,即便参数是对象的引用,方法得到的也是引用的copy
参考 <java2核心技术 卷1> 4.5章节

------解决方案--------------------
所有传递传的都是变量的值,都是值传递````只是```原始类型变量持有值本身,对象变量持有对象引用````应该理解对象变量和原始类型变量的区别``
------解决方案--------------------
java中采用的都是值传递
就是说,即便参数是对象的引用,方法得到的也是引用的copy
参考 <java2核心技术 卷1> 4.5章节
===============================
这位兄弟说的对,在JAVA中只有值传递,不像C,C++中有值和引用(地址)传递.
比如在一个方法中,传了一个对象过去,即以对象作为参数,然后在方法中修改
对象的某个值,然后返回这个值,会发现该对象的该属性值并没有改变,还是原来
的值,所以说明这是值传递,不像C++中,在C++中这时属性值就会改变,这也是JAVA
与C++不一样的地方.
------解决方案--------------------
java中采用的都是值传递
就是说,即便参数是对象的引用,方法得到的也是引用的copy
这说的太对了!我支持
------解决方案--------------------
顶 9楼

------解决方案--------------------
都可以理解是值传递,就是copy

你需要理解的是对象类型为引用类型,仅此而已。
------解决方案--------------------
呵呵 这个问题老生常谈了
JAVA是不支持引用传递的
所谓的引用传递也是 引用的副本
你只要注意这点就行



------解决方案--------------------
java中只有一种传递方式,就是传址。其实任何语言参数传递也都是传址方式的。
传值是这样的:将原来的数据在内存中形成一个拷贝,然后在传递给你这个拷贝的地址。

所以函数传递参数只有一种方式,那就是传址。
据说:传值方式只是国内的高校老师为了讲课方便介绍的概念。在国外已经抛弃了这个概念。统一的就是传址。
------解决方案--------------------

关键是看能不能传过去