今日Java学习——对象传递 一、情景引入以下代码执行后输出结果为____public class ClassTest{ String str new String(hello); char[] ch {a,b,c}; public void fun(String str, char ch[]){ strworld; ch[0]d; } public static void main(String[] args) { ClassTest test1 new ClassTest(); test1.fun(test1.str,test1.ch); System.out.print(test1.str and ); System.out.print(test1.ch); } }二、详解与答案按照代码运行顺序讲解1. 堆中分配实例对象代码从main函数开始运行执行ClassTest test1 new ClassTest();在栈中main 栈帧给局部引用变量test1分配内存在堆中给ClassTest的实例对象分配起始地址并为其成员变量str、ch也分配内存。test1指向该实例对象的地址也是说test1本身在栈中是有内存的分配的但是它存的是其实例对象的起始地址此时内存分配的简易图如下2.初始化成员变量1执行new String(hello)首先去堆内的字符串常量池查找hello不存在则创建字符串对象地址再在堆中new一个独立的 String 对象【1】String value其内部value引用指向hello字符串对象地址。(String的value存的是hello字符串对象地址)执行String str new String(hello);赋值操作堆中str存的就是value地址2同理执行char[] ch {a,b,c};堆中分配内存给a,b,c将其内存赋给堆中ch3.test1.fun(test1.str, test1.ch)test1.fun(test1.str, test1.ch)通过test1找到ClassTest类再去方法区找fun方法然后fun压入虚拟栈内创建新栈帧创建新形参局部变量strchstrch在栈中被创建分配内存此时的str和ch和之前的str与ch不一样因为被创建的所在区域不同仅仅名字相同而已。然后给形参赋值拷贝实参的值给形参此时栈中的strch分别指向value的地址和a,b,c的地址因为堆中的str和ch存的是value的地址和a,b,c的地址。4.strworld;与ch[0] d;strworld同理在堆的字符串常量池创建world字符串对象【2】String value。只修改栈中的str。堆里的成员变量完全没有被触碰依旧指向 hello。ch[0] d——栈中形参ch顺着原先在test1.fun(test1.str, test1.ch)里赋值的路径找到a,b,c的地址修改对应下标的数组元素。没有修改形参ch的地址值5.fun 方法执行结束fun栈帧整体出栈销毁栈中str和ch内存直接回收局部形参永久消失。 回到 main 方法栈帧继续执行后续的输出代码。6.总结与答案成员变量str从未被修改答案为hello and dbc个人首次发布讲解理解的细节可能错误仅供参考

相关新闻

最新新闻

Agent长期维护实战:基于Hermes的技能扩展与记忆管理

Agent长期维护实战:基于Hermes的技能扩展与记忆管理

我自己手头维护的Agent项目跑了大半年,最深的感受是——Agent部署上线只算完成了一半,真正的重体力活全在后面的更新与维护。你让它长期跟踪某个领域的知识变化,两个月后它开始“失忆”;你升级了底层模型,它原本稳定的…

2026/9/8 19:20:37
PostgreSQL库内机器学习实践:从数据出库到模型入库

PostgreSQL库内机器学习实践:从数据出库到模型入库

先交代一个背景:我在一个数据量不算夸张、但又足够让“导出CSV到服务器上训练”变得难受的团队里,完整摸索了一轮“数据库内机器学习”的落地路径。整个项目从最开始的数据出库、在Python环境里折腾数据清洗和特征工程,到后面把数据和训练全部…

2026/9/8 19:20:37
智能驾驶数据融合:从传感器标定到场景理解的完整拆解

智能驾驶数据融合:从传感器标定到场景理解的完整拆解

目前的智能驾驶行业里,传感器数量越堆越多,芯片算力越顶越高,但真正决定一辆车“开得好不好”的,恰恰是那个经常被聊得云里雾里的中间层:数据融合。最近解读了一批智驾感知相关的专利,很多平时在发布会上被…

2026/9/8 19:20:37
Anthropic 2万亿美元估值背后:外部信托如何重塑AI公司治理

Anthropic 2万亿美元估值背后:外部信托如何重塑AI公司治理

最近科技圈里有一条新闻,热度不比任何一款新模型发布低——Anthropic的IPO计划浮出水面,媒体估算里甚至出现了“最高2万亿美元估值”这个量级的数字。这直接把原本已经不算低调的Claude推向更大的牌桌。但比起“又要多一家超级公司”这种感叹&#xff0c…

2026/9/8 19:20:37
YOLOv5烟叶病害检测:数据集、训练配置与避坑实战

YOLOv5烟叶病害检测:数据集、训练配置与避坑实战

简介:YOLOv5烟叶病害识别项目资料包,面向计算机、电子信息工程、数学等专业的大学生,适用于课程设计、期末大作业和毕业设计,也适合目标检测方向初学者快速上手。整套资料包含完整YOLOv5源码、已标注的烟叶病害数据集、对应标注文…

2026/9/8 19:20:37
从混乱到可信:diagram-design 让架构图成为工程资产

从混乱到可信:diagram-design 让架构图成为工程资产

两年前,我接手维护一套内部微服务文档时,发现光“业务订单流转”这个话题,四个团队就各自画了六张“架构图”,每一张的图例、箭头和分组方式都不一样。最要命的是,这些图里没有一张能回答最简单的那个问题:…

2026/9/8 19:15:37