java基本数据类型和引用数据类型的调用传递的区别
2018-02-06 22:13
726 查看
(1)基本数据类型:就是进行了值的传递把一份数据拷贝了之后传递过去
(2)引用数据类型:实际上也是进行了数据拷贝然后传过去,实际上也是值传递,只不过传递过去的值和原有的值指向了同一个对象 所以在调用的方法中可以对原来的数据进行影响,这是因为二者指向的是同一个对象。
但这不是按引用调用!如下代码可证明这一点:
对象之间的赋值是需要指针相互赋值的,而由于这里User x和y仅仅是一个值的拷贝,他们仅仅是表面上的东西是一个实例,对他们进行交换不会影响在底层的真正的对象的交换。所以这个函数调用不会引起两个对象的交换
但是如果在被调用的函数中,拷贝的对象执行了对于真正对象的数据修改是可以改变后续的对象的值的,因为后续的对象仍然会引用这个被修改过的对象。比如以下代码证明了这一点:
这个过程实际上是这样的:
(2)引用数据类型:实际上也是进行了数据拷贝然后传过去,实际上也是值传递,只不过传递过去的值和原有的值指向了同一个对象 所以在调用的方法中可以对原来的数据进行影响,这是因为二者指向的是同一个对象。
但这不是按引用调用!如下代码可证明这一点:
对象之间的赋值是需要指针相互赋值的,而由于这里User x和y仅仅是一个值的拷贝,他们仅仅是表面上的东西是一个实例,对他们进行交换不会影响在底层的真正的对象的交换。所以这个函数调用不会引起两个对象的交换
但是如果在被调用的函数中,拷贝的对象执行了对于真正对象的数据修改是可以改变后续的对象的值的,因为后续的对象仍然会引用这个被修改过的对象。比如以下代码证明了这一点:
这个过程实际上是这样的:
相关文章推荐
- java基本数据类型传递与引用传递区别
- java基本数据类型传递与引用传递区别详解(一个大神的解析,不是我。。)
- java基本数据类型传递与引用传递区别详解
- java基本数据类型传递与引用传递区别详解
- java基本数据类型传递与引用传递的区别详解
- java基本数据类型传递与引用传递区别详解
- java基本数据类型传递与引用传递区别详解
- java基本数据类型传递与引用传递区别详解
- java基本数据类型传递与引用传递区别详解
- java基本数据类型传递与引用传递区别详解
- java中引用数据类型和基本数据类型的区别
- java中基本数据类型和引用数据类型的区别?
- JAVA的基本数据类型和引用数据类型的区别
- 基本数据类型参数传递与引用数据类型参数传递区别
- 牛客网Java刷题知识点之基本数据类型参数传递和引用数据类型参数传递图解
- Java的基本数据类型和引用数据类型的区别
- 【java】基本数据类型和引用数据类型(区别)
- JAVA---基本数据类型和引用数据类型传递值得案例
- Java中int与integer的区别(基本数据类型与引用数据类型)
- JAVA的基本数据类型和引用数据类型的区别