Java函数参数传递的方法是什么?
发布时间:2023-05-26 05:18:08
Java函数参数传递的方法有两种:值传递和引用传递。
值传递:将实参的值复制一份传递给形参,函数内部对形参的修改不会影响实参的值。基本数据类型和字符串类型都采用值传递的方式。
引用传递:将实参的引用地址传递给形参,函数内部对形参的修改会影响到实参的值。引用类型都采用引用传递的方式。例如,传递一个对象或数组时,实际上传递的是该对象或数组的引用地址,函数内部可以通过该地址修改对象或数组的成员值。
需要注意的是,虽然引用类型采用引用传递,但是对于一些不可变对象(如String),实际上还是采用的值传递。因为对于不可变对象,它们的值是不可改变的,所以函数内部无法对其进行修改。
下面我们分别举例说明值传递和引用传递的具体用法。
值传递的例子:
public static void main(String[] args) {
int a = 3;
func(a);
System.out.println(a); // 输出结果为3
}
public static void func(int b) {
b = 4;
}
上述代码中,变量a的值为3,调用func函数时,将a的值复制一份传递到了b中,函数内部将b的值修改为4,但不影响a的值,因此输出结果为3。
引用传递的例子:
public static void main(String[] args) {
int[] arr = {1, 2, 3};
func(arr);
System.out.println(Arrays.toString(arr)); // 输出结果为[4, 5, 6]
}
public static void func(int[] arr) {
for (int i = 0; i < arr.length; i++) {
arr[i] += 3;
}
}
上述代码中,变量arr是一个int数组,调用func函数时,传递了arr的引用地址,函数内部通过该地址修改arr数组的成员值,因此输出结果为[4, 5, 6]。
综上所述,Java函数参数传递的方法有两种:值传递和引用传递。在实际开发中,应根据需求选择合适的传递方式,以达到 的效果。
