引用类型的浅拷贝 接下来,我们将展示clone方法在引用类型上的浅拷贝行为。 publicclassUserTypeimplementsCloneable{privateStringname;publicUserType(Stringname){this.name=name;}@OverridepublicObjectclone()throwsCloneNotSupportedException{returnsuper.clone();}publicstaticvoidmain(String[]args){UserTypeoriginal=newU...
一开始的问题有答案了,clone()方法是浅拷贝,两个对象中的cat指向堆中同一个对象。 如果想要深拷贝呢? 这时候就需要改造clone方法了,以及引用的对象中也要实现接口和复写方法。 上代码: publicclassAnimalimplementsCloneable{publicCatcat;@OverrideprotectedObjectclone()throwsCloneNotSupportedException{Animalclone=(Anim...
结论:浅拷贝
代码清13-11 浅拷贝测试 1. public class Client { 2. 3. public static void main(String[] args) { 4. //产生一个对象 5. thing = new 6. //设置一个值 7. thing.setValue('张三'); 8. //拷贝一个对象 9. cloneThing = thing.clone(); 10. cloneThing.setValue('李四'); 11. System....