a,b保存的内存地址不同,修改b的值,为什么a的值也随之改变?
1条回答 默认 最新
- CSDN专家-赖老师(软件之家) 2021-11-21 09:44关注
克隆是不会相等的,参考:
package com; public class TestMain { public static void main(String args[]) throws Exception { Person p = new Person(20,"张三"); System.out.println(p.getName()+","+p.getAge()); Person p1 = (Person)p.clone(); p1.setName("李四"); System.out.println(p1.getName()+","+p1.getAge()); } } class Person implements Cloneable{ private int age ; private String name; public Person(int age, String name) { this.age = age; this.name = name; } public Person() {} public int getAge() { return age; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override protected Object clone() throws CloneNotSupportedException { return (Person)super.clone(); } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 给自己本科IT专业毕业的妹m找个实习工作
- ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
- ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
- ¥50 mac mini外接显示器 画质字体模糊
- ¥15 TLS1.2协议通信解密
- ¥40 图书信息管理系统程序编写
- ¥20 Qcustomplot缩小曲线形状问题
- ¥15 企业资源规划ERP沙盘模拟
- ¥15 树莓派控制机械臂传输命令报错,显示摄像头不存在
- ¥15 前端echarts坐标轴问题