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; // 修改副本值 } }
输出:
立即学习“Java免费学习笔记(深入)”;
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); // 修改实际对象 } }
输出:
立即学习“Java免费学习笔记(深入)”;
list 在 main() 方法中为: [10, 20]
以上就是Java 函数的参数传递机制是什么?的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系 yyfuon@163.com