java浅度克隆 clone()

java浅度克隆 clone()

ID:12939265

大小:33.50 KB

页数:3页

时间:2018-07-19

java浅度克隆 clone()_第1页
java浅度克隆 clone()_第2页
java浅度克隆 clone()_第3页
资源描述:

《java浅度克隆 clone()》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、/***该类必须继承Cloneable*实现其clone()方法*修饰符**/publicclassCloneStudentimplementsCloneable{privateintage;privateStringname;privateCloneTeacherteacher;publicintgetAge(){returnage;}publicvoidsetAge(intage){this.age=age;}publicStringgetName(){returnname;}publicvoidsetName(Stringnam

2、e){this.name=name;}publicCloneTeachergetTeacher(){returnteacher;}publicvoidsetTeacher(CloneTeacherteacher){this.teacher=teacher;}protectedObjectclone()throwsCloneNotSupportedException{return(CloneStudent)super.clone();}}publicclassCloneTeacher{privateintage;privateStrin

3、gname;publicintgetAge(){returnage;}publicvoidsetAge(intage){this.age=age;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}}publicclassCloneTest{publicstaticvoidmain(Stringargs[])throwsCloneNotSupportedException{CloneTeacherteacher=newClon

4、eTeacher();teacher.setAge(40);teacher.setName("张老师");CloneStudentstudent1=newCloneStudent();student1.setAge(20);student1.setName("王学生");student1.setTeacher(teacher);/***对象克隆,那么克隆出来的对象有两个特性*1两个对象的内容是一样的*2修改复制出来的对象的内容是不会改变原有对象的值的*3浅度克隆仅仅复制克隆的对象,而不复制引用对象,那复制出来的对象对引用对象的修改将会

5、改变原来的值**/System.out.println("---------------------我是原有对象中属性的值-----------------------");System.out.println(student1.getAge());System.out.println(student1.getName());CloneStudentstudent2=(CloneStudent)student1.clone();System.out.println("------------我是复制的对象,看看我和原来对象的属性值相同

6、吗?--------------");System.out.println(student2.getAge());System.out.println(student2.getName());System.out.println("---------复制出来的对象改变的自己的属性值看看原来对象的值改变吗?-----------");System.out.println(student1.getAge());System.out.println(student1.getName());System.out.println("------

7、---这是原有对象引用对象的属性值-----------");System.out.println(student1.getTeacher().getAge());System.out.println(student1.getTeacher().getName());student2.getTeacher().setName("李老师");student2.getTeacher().setAge(50);System.out.println("---------复制出来的对象改变的引用对象的属性值看看原来对象的引用对象值改变吗?---

8、--------");System.out.println(student1.getTeacher().getAge());System.out.println(student1.getTeacher().getName

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。