-
值传递(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
相关推荐
q***78781 分钟前
Spring学习——新建module模块q***11655 分钟前
在Nginx上配置并开启WebDAV服务的完整指南u***u68510 分钟前
PHP最佳实践是店小二呀16 分钟前
使用Rust构建一个完整的DeepSeekWeb聊天应用白起那么早18 分钟前
我又开发了一款idea插件-ContiNewGenerator装不满的克莱因瓶30 分钟前
【Java架构师体系课 | MySQL篇】③ Explain执行计划详解王煜苏32 分钟前
最新版idea2025 配置docker 打包spring-boot项目到生产服务器全流程,含期间遇到的坑李玮豪Jimmy44 分钟前
Day18:二叉树part8(669.修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树)后端小张1 小时前
【AI 学习】AI Agent 开发进阶:架构、规划、记忆与工具编排西岭千秋雪_1 小时前
Kafka客户端整合