Java 函数的参数传递机制是什么?

java 中函数参数传递采用按值传递和按引用传递两种机制。基本类型和不可变对象采用按值传递,传递副本值;可变对象采用按引用传递,传递对对象的引用,对参数的修改会影响实际对象。

Java 函数的参数传递机制是什么?

Java 函数的参数传递机制

Java 中,函数参数的传递机制是按值传递。这意味着实际参数的值在传递给函数时会被复制到形式参数。对形式参数的任何修改都不会影响实际参数。

参数传递类型

Java 使用以下两种类型的参数传递:

  • 按值传递: 基本类型(int、double、char 等)和不可变对象(String、Integer 等)是按值传递的。
  • 按引用传递: 可变对象(ArrayList、HashMap 等)是按引用传递的。

实战案例:按值传递

public class PassByValue {

    public static void main(String[] args) {
        int x = 10;
        changeValue(x); // 传递副本值
        System.out.println("x 在 main() 方法中为: " + x); // 输出 10,原始值保持不变
    }

    public static void changeValue(int y) {
        y = 20; // 修改副本值
    }
}

输出:

x 在 main() 方法中为: 10

实战案例:按引用传递

public class PassByReference {

    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<>();
        list.add(10);

        changeList(list); // 传递对对象的引用
        System.out.println("list 在 main() 方法中为: " + list); // 输出 [10, 20],原始对象被修改
    }

    public static void changeList(ArrayList<Integer> list) {
        list.add(20); // 修改实际对象
    }
}

输出:

list 在 main() 方法中为: [10, 20]

以上就是Java 函数的参数传递机制是什么?的详细内容,更多请关注www.sxiaw.com其它相关文章!