java中值传递与引用传递的区别

值传递(基本数据类型)

在方法调用时,实际参数会把它的值传递给对应的形参,相当于实际参数把他的值赋值给了形参,是两个不同的存储单元,形参发生改变,实参不会受到影响.
在这里插入图片描述
运行结果为:
100
10

引用传递(对象和数组)

在方法调用时,实际参数会把它的引用传给实际参数,形参与实参指向同一地址,所以形参的值发生改变时,实参的值也会随之改变
在这里插入图片描述
运行结果为:
[2, 1]
在这里插入图片描述
因为引用引用数据类型的数据时存储在堆空间中的,无论是形参还是实参,改变的都是堆空间的数据,所以形参的值发生改变时,实参的值也对应发生改变.


版权声明:本文为xun_fong原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。