Java的方法传参机制
Java的方法传参机制是按值传递(pass by value)。当我们调用一个方法时,实际上是将参数的值复制给了方法的参数。这意味着,在方法内部对参数进行修改不会影响到原始的参数值。
具体来说,Java中有两种类型的参数:基本类型参数和引用类型参数。
对于基本类型参数,方法将其值复制给了参数,对参数的修改不会影响到原始的参数值。例如:
public void modifyValue(int value) {
value = value + 1;
}
int num = 10;
modifyValue(num);
System.out.println(num); // 输出 10,未被修改
对于引用类型参数,方法将参数的引用(地址)复制给了参数,对参数引用指向的对象的修改会影响到原始的参数引用指向的对象。但是,如果在方法内部对参数进行重新赋值,则不会影响到原始的参数引用。例如:
public void modifyArray(int[] array) {
array[0] = 100;
array = new int[]{1, 2, 3};
}
int[] nums = {0, 1, 2};
modifyArray(nums);
System.out.println(nums[0]); // 输出 100,原始数组被修改
需要注意的是,虽然Java是按值传递,但是对于引用类型的参数,实际传递的是引用的值(地址),从而实现了对传递对象的修改。