- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java 中对象的深复制和浅复制详解
1.浅复制与深复制概念
⑴浅复制(浅克隆)
被复制对象的所有变量都含有与原来的对象相同的值, 而所有的对其他对象的引
用仍然指向原来的对象。 换言之, 浅复制仅仅复制所考虑的对象, 而不复制它所
引用的对象。
⑵深复制(深克隆)
被复制对象的所有变量都含有与原来的对象相同的值, 除去那些引用其他对象的
变量。那些引用其他对象的变量将指向被复制过的新对象, 而不再是原有的那些
被引用的对象。换言之,深复制把要复制的对象所引用的对象都复制了一遍。
2 .Java 的 clone() 方法
⑴clone 方法将对象复制了一份并返回给调用者。一般而言, clone ()方法满
足:
①对任何的对象 x ,都有 x.clone() !=x// 克隆对象与原对象不是同一个对象
②对任何的对象 x ,都有 x.clone().getClass()= =x.getClass()// 克隆对象与
原对象的类型一样
③如果对象 x 的 equals() 方法定义恰当,那么 x.clone().equals(x) 应该成立。
⑵Java 中对象的克隆
①为了获取对象的一份拷贝,我们可以利用 Object 类的 clone() 方法。
②在派生类中覆盖基类的 clone() 方法,并声明为 public 。
③在派生类的 clone() 方法中,调用 super.clone() 。
④在派生类中实现 Cloneable 接口。
请看如下代码:
1. public class Student implements Cloneable
2. {
3. String name;
4. int age;
5. Student(String name, int age)
6. {
7. this .name=name;
8. this .age=age;
9. }
10. public Object clone()
11. {
12. Object o= null ;
13. try
14. {
15. o=(Student) super .clone(); //Object 中的 clone()识别出你要
复制的是哪一个对象。
16. }
17. catch (CloneNotSupportedException e)
18. {
19. System.out.println(e.toString());
20. }
21. return o;
22. }
23.
24. public static void main(String[] args)
25. {
26. Student s1= new Student( zhangsan , 18 );
27. Student s2=(Student)s1.clone();
28. s2.name= lisi ;
29. s2.age= 20 ;
30. // 修改学生 2 后,不影响学生 1 的值。
31. System.out.println(
您可能关注的文档
- DEH系统检修文件包.pdf
- 搅拌机地维护检修.pdf
- 解决U盘”无法复制磁盘被写保护.pdf
- 1#2#锅炉粗细粉分离器检修方案.docx.pdf
- 阀门检修工艺与维修标准.pdf
- 电工安全技术交底2.pdf
- 化工检修钳工操作技能比赛规则与评分标准.pdf
- 飞灰固化检修规程.pdf
- 2015版药典沉降菌检测操作规程.pdf
- 化工行业常见安全生产隐患有哪些.pdf
- 第二十二讲与圆有关的计算.docx
- 广东省深圳市公明中英文学校2022-2023学年九年级上学期期中化学试题.docx
- 3.1分子和原子(考点解读)(原卷版).docx
- 9.4液体压强与流速的关系.docx
- (福建卷)2023年中考地理第一次模拟考试A3版.docx
- 2020人教版九年级上学期单元专题大培优17.2欧姆定律练习.docx
- 1.2人口迁移教案高中地理人教版必修二.Docx
- 专题3.1数据的集中趋势和离散程度(章节复习能力强化卷)学生版.docx
- Unit5MusicReadingforWriting教学设计高中英语人教版(1).docx
- 第三章图形的平移与旋转单元检测卷(A卷)(解析卷).docx
文档评论(0)