一、值传递
- Java都是值传递。
- 值传递:是指在调用函数时,将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,就不会影响到实际参数。
- 值传递是对基本数据类型而言。
二、引用传递
- 引用传递:是指在调用函数时,将实际参数的地址传递到函数中,那么在函数中对参数进行修改,将会影响到实际参数
- 引用数据类型分为两个部分,引用变量和对象,这两个部分放在不同的地方,引用变量在栈中,而对象是放在堆内存中的,引用变量指向对象。
- 传递参数之前会将参数进行复制,但是复制的是引用变量(地址),复制后的引用变量还是指向内存中的同一对象,所以引用传递中,函数修改了参数会影响实际参数。
三、参考博客:
写得很清楚的一篇博客。
关于值传递和引用传递。
https://blog.csdn.net/Start1234567/article/details/109373902