其实啊,在Java中,不管是基本数据类型还是引用数据类型,参数传递的方式都只有按值传递这一种。
对于基本数据类型,也就是( byte, short, int, double, long, float, boolean, char)这8种,这些都是存储在栈内存中的。作为参数传递时,它们传递的都是值的副本,也就是基本数据类型的数值本身。
对方法中的参数进行操作时,并不会影响原始的变量。
对于引用数据类型,也就是所有的对象和数组,它们存储的是对象在堆内存中的地址,作为参数传递时,传递的是引用的副本。
方法内的修改可以通过引用影响到传入的对象的内容,但是并不会影响对象引用本身的地址。