java中的引用传递是什么

如题所述

值传递:(形式参数类型是基本数据类型):方法调用时,实际参数把它的值传递给对应的形式参数,形式参数只是用实际参数的值初始化自己的存储单元内容,是两个不同的存储单元,所以方法执行中形式参数值的改变不影响实际参数的值。

引用传递:(形式参数类型是引用数据类型参数):也称为传地址。方法调用时,实际参数是对象(或数组),这时实际参数与形式参数指向同一个地址,在方法执行中,对形式参数的操作实际上就是对实际参数的操作,这个结果在方法结束后被保留了下来,所以方法执行中形式参数的改变将会影响实际参数。


温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-23
Java中有人分为值传递和址传递。引用传递也就是址传递。
比如下列的方法
public void add(int a) {
int b = a;
}
这个可以看作是值传递,a是基本数据类型,他把他的值传给了b
public void add(Object obj) {
Object objTest = obj;
}
这个可以看作是址传递,obj是引用数据类型,是把他栈中指向堆中的对象的地址值赋值给了objTest.
这时候就同时有两个引用指向了堆中的某个Object对象

其实这样看来,java应该只有值传递的。如果是基本数据类型,传递的就是实际的值.
如果是引用数据类型,传递的就是该引用的地址值.

这样讲你应该明白了吧。希望能够帮助你,谢谢,又不懂的还可以问本回答被提问者采纳
第2个回答  2018-04-17

值传递:(形式参数类型是基本数据类型):

方法调用时,实际参数把它的值传递给对应的形式参数,形式参数只是用实际参数的值初始化自己的存储单元内容,是两个不同的存储单元,所以方法执行中形式参数值的改变不影响实际参数的值。

引用传递:(形式参数类型是引用数据类型参数):也称为传地址。

方法调用时,实际参数是对象(或数组),这时实际参数与形式参数指向同一个地址,在方法执行中,对形式参数的操作实际上就是对实际参数的操作,这个结果在方法结束后被保留了下来,所以方法执行中形式参数的改变将会影响实际参数。

本回答被网友采纳
第3个回答  2011-06-23
严格的来说,JAVA中只存在值传递,而不存在引用传递
你所谓的“引用传递”,就是值传递的时候值中存放的是引用的地址追问

能不能举出一个引用传递的例子呢?

第4个回答  2011-06-23
地址传递,指向同一内存地址。
相似回答