篇首语:Java基本类型传递的是值的拷贝,Java引用类型传递的是对象地址的拷贝。
在java中,java是通过值传递的。
基本类型是传递的值本身的一个副本。副本中的值的改变不会影响原来值的改变。如图所示:
内存示意图:
引用类型传递是拷贝传递对象地址。
传递的对象改变地址的时候,不影响原对象的地址。但是传递对象进行内部组成的时候,原数据也会改变。具体如图:
图一可以看出改变副本的地址的时候,原数据地址不会改变。
图二可以看出,副本改变对象的属性的时候,源数据跟着改变。
总结如下:(来自《Java核心技术》)
*一个方法不能修改一个基本数据类型的参数(即数值或布尔型)。
*一个方法可以改变一个对象参数的状态。
*一个方法不能让对象参数引用一个新的对象。
*******************