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 函数的参数传递机制是什么?的详细内容,更多请关注其它相关文章!