java基本数据类型传递与引用传递区别的一些思考
前言
最近在学习java,刚好看到这一块内容,在网上看了很多文章之后,便有了今天这篇文章。
首先,java来说,java中只存在值传递,其实并不存在引用传递,因为java中没有指针。接下来我分基本数据类型作为形参
、引用类型(除了String类型)作为形参
、String类型作为形参
来进行讲解
🌰
基本数据类型作为形参
1 | public class a { |
这里应该输出:
1 | 调用前x的值:1 |
change方法执行的过程如下:
- 将a的值复制给b
- b = b *10
- 这个方法结束后,参数变量b不再使用,被回收
引用数据类型(除了String类型)作为形参
这里举一个数组的例子,其他引用类型(除了String类型)也是类似的
1 | public class Test { |
这里应该输出:
1 | 1 |
change方法执行的过程如下:
- 将变量arr的地址复制给形参arr,变量arr和形参arr指向的是同一个地址
- 形参arr修改索引0的值
- 这个方法结束后,形参arr不再使用,被释放。