java中方法参数的值传递和引用传递
值传递: 是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。
引用传递: 是指在调用函数时将实际参数的地址传递到函数中,那么在函数中对参数所进行的修改,将影响到实际参数。
在Java方法中参数列表有两种类型的参数,基本类型和引用类型。
基本类型: 值存放在局部变量表中,无论如何修改只会修改当前栈帧的值,方法执行结束对方法外不会做任何改
变;此时需要改变外层的变量,必须返回主动赋值。
引用数据类型: 指针存放在局部变量表中,调用方法的时候,副本引用压栈,赋值仅改变副本的引用。但是,
如果操作副本引用的值,修改了引用地址的对象,此时方法外引用此地址对象也会被修改。(两个引用,同一
个地址,任何修改行为2个引用同时生效)。
这两种类型都是将外部参数变量拷贝一份到局部变量中,基本类型为值拷贝,引用类型是把引用地址拷贝一份。