当先锋百科网

首页 1 2 3 4 5 6 7

Java中的参数传递方式有两种,分别是引用传递和值传递。

值传递指的是将参数的值复制一份后传递给方法内部,方法内部对传递进来的参数进行修改并不会影响到原来的参数值,也不会影响方法外部的变量值。例如:

public static void main(String[] args) {
int a = 1;
changeValue(a);
System.out.println(a); // 输出结果为1
}
public static void changeValue(int b) {
b++;
}

上面的代码中,我们在方法内部将传递进来的参数值b加1后,并没有影响到原来的变量a的值。

而引用传递则是将参数的引用传递给方法内部,方法内部对传递进来的参数进行修改,会影响到原来的参数值,也会影响到方法外部的变量值。例如:

public static void main(String[] args) {
int[] a = new int[]{1};
changeValue(a);
System.out.println(a[0]); // 输出结果为2
}
public static void changeValue(int[] b) {
b[0]++;
}

上面的代码中,我们在方法内部将传递进来的参数b所指向的数组的第一个元素加1后,影响到了原来的变量a的值,输出结果为2。