欢迎访问宙启技术站
智能推送

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函数参数传递的方法有两种:值传递和引用传递。在实际开发中,应根据需求选择合适的传递方式,以达到 的效果。