为啥是这个结果,不懂,求指点。。。。

Scaarf 2020-04-08 03:11:04
第二个打印结果搞不懂。。。。为什么之前已经添加进去的张三也变成了李四。。。。因为用的是同一个实例么,为什么啊?

ArrayList arr=new ArrayList();

Student s=new Student();
s.setName("张三");
s.setAge(14);
arr.add(s);
System.out.println(arr);//运行结果:[Student{name='张三', age=14}]

s.setName("李四");
s.setAge(17);
arr.add(s);

//运行结果:[Student{name='李四', age=17}, Student{name='李四', age=17}]
System.out.println(arr);
...全文
113 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Scaarf 2020-04-08
  • 打赏
  • 举报
回复
引用 1 楼 繁华终归落尽 的回复:
arr里保存的是对象的引用,你修改的是对象内的变量
对哦,人都懒的傻掉了。。。。。。得恶补,,,,感谢
繁华终归落尽 2020-04-08
  • 打赏
  • 举报
回复
arr里保存的是对象的引用,你修改的是对象内的变量

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧