java里方法的参数传递只有一种:值传递;将实际参数的复制,传入方法内,但是参数本身不受影响。
-
对于基本数据类型来说:传递给方法内的参数的为基本数据类型变量的"数据值"
可以理解为两个数据值一样的基本数据,一个是实参,一个传给方法的实参复制品,方法对复制品的修改操作不会影响原本实参的值
-
对于引用数据类型来说:传递给方法内的参数的为引用数据类型变量的“地址值”
可以理解为两个数据值一样的引用类型,一个是实参,一个传给方法的实参复制品,复制品拿的是地址,与实参是一样的,两个相同的地址,所以指向的都是同一个对象。
如果修改的是复制品拿的地址,也就是让其指向另外一个对象,那么复制品指向的对象与实参不再是同一个。