黑马程序员技术交流社区
标题:
当一个对象作为参数传递给一个方法时,参数的问题
[打印本页]
作者:
kingowe
时间:
2015-5-17 20:06
标题:
当一个对象作为参数传递给一个方法时,参数的问题
当一个对象作为参数传递给一个方法后,此方法可改变这个对象的属性,并可以返回变化后的结果,那么这里到底是值的传递还是引用传递?
作者:
xbutterflyx
时间:
2015-5-17 20:24
两种参数传递情况:
1.一种是基本数据类型的传递
2.一种是引用数据类型的传递
1的情况是你传递进去的是数值,并不是变量本身,被方法中的形参接收了,因此无论形参怎么变,对你传递的变量不会有任何影响.
2的情况是,你把引用型变量X的地址传递到了方法中的形参Y,而Y与X都是指向同一个地址.因此,无论你对X操作还是Y操作,实际上操作的是同一个对象.因此会造成地址对应对象的实际改变.
作者:
pvbj0314
时间:
2015-5-17 20:26
比如方法static Object1 test(Object obj);如果你使用Object1.test(obj1);,其中obj1是其它类型的对象,这里执行Object obj = obj1; 即把obj1的地址赋值给obj。因为obj1的值是Object对象的地址,所以将其内容即Object对象的地址赋值给obj。本质上是值传递。实际在Java中都是值传递,弄清楚传递的是什么值,就明白了。
作者:
夕阳的刻痕
时间:
2015-5-17 21:53
学习了。。
作者:
zzlin
时间:
2015-5-17 21:57
1、java中没有真正意义上的引用传递
2、基本类型参数的传递的是变量值,引用类型传递的是变量内存地址
3、对引用数据类型变量的操作实际就是根据内存地址值对对象的操作
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2