在java中,java是通过值传递的。


基本类型是传递的值本身的一个副本。副本中的值的改变不会影响原来值的改变。如图所示:

代码
运行结果

内存示意图:


引用类型传递是传递对象地址的副本。传递的对象改变地址的时候,不影响原对象的地址。但是传递对象进行内部组成的时候,原数据也会改变。具体如图:

图一可以看出改变副本的地址的时候,原数据地址不会改变。

运行结果(一)

图二可以看出,副本改变对象的属性的时候,源数据跟着改变。

运行结果(二)
内存示意