-
值传递(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
相关推荐
雪落漂泊几秒前
C++ 继承与多态(上)skywalk81631 分钟前
我想基于kotti-py312 ,制作一个多中文编程语言的宣传网站,主要包括文档、playground 示例和学习 (Codearts制作)Sunia4 分钟前
《AgentX 专栏》08-工作流引擎:AgentWorkflow怎么把工具记忆流程串成一条流水线聆风吟º6 分钟前
【C++11新章】列表初始化详解huipeng9266 分钟前
企业级微服务开发实战(二):微服务基础设施搭建与中间件部署Jabes.yang7 分钟前
Java电商订单系统面试全流程解析:接口设计、数据库、微服务与分布式事务实战码语智行10 分钟前
导入模板下载闪电悠米13 分钟前
黑马点评-秒杀优化-04_lua_and_db_fallbackShadow(⊙o⊙)19 分钟前
进程间通信0.0-pipe()匿名管道,详细分析进程池调度队列执行逻辑,进程池模拟实现。摇滚侠22 分钟前
IDEA 创建 Java 项目 推送到远程 Git 仓库