-
值传递(Pass by Value):值传递意味着在方法调用时,实际参数的值被传递给方法中的形式参数,即在方法内部修改形参的值不会影响实参的值。Java中的基本数据类型(如int、float、double等)就是值传递的典型例子。
javapublic class Main { public static void main(String[] args) { int x = 10; modifyValue(x); System.out.println("Value after method call: " + x); } public static void modifyValue(int num) { num = num + 5; System.out.println("Value inside method: " + num); } }
输出
javaValue inside method: 15 Value after method call: 10
-
引用传递(Pass by Reference):引用传递是指在方法调用时,实际参数的地址被传递给了方法中的形式参数,即在方法内部修改形参的值会影响到实参。在Java中,对象引用是按值传递的,也就是说,虽然传递的是对象的引用,但是对对象属性的修改会影响到实际对象。
javapublic class Main { public static void main(String[] args) { StringBuilder sb = new StringBuilder("Hello"); modifyReference(sb); System.out.println("Value after method call: " + sb); } public static void modifyReference(StringBuilder builder) { builder.append(" World"); System.out.println("Value inside method: " + builder); } }
输出
javaValue inside method: Hello World Value after method call: Hello World
在这个例子中,虽然
sb
是按值传递给modifyReference
方法的,但是由于传递的是对象引用,因此在方法内部对builder
的修改会影响到实际对象sb
。
java中的什么是值传递,什么是引用传递
。。。。。962024-03-27 13:27
相关推荐
勇敢牛牛_13 分钟前
使用Rust实现服务配置/注册中心catchadmin13 分钟前
PHP serialize 序列化完全指南hzzzzzo031 分钟前
微服务网关全解析:从入门到实践纪莫36 分钟前
技术面:Spring (bean的生命周期、创建方式、注入方式、作用域)slandarer43 分钟前
MATLAB | 这是屎吗?抱歉打错了,这是什么?We....44 分钟前
Java多线程分块下载文件不秃的开发媛1 小时前
Java连接池详解:从Oracle到TiDB的随缘之旅Pluchon1 小时前
硅基计划3.0 Map类&Set类Angelyb2 小时前
微服务保护和分布式事务42fourtytoo2 小时前
天津大学智算2026预推免机试第二批题目及代码c++