引用类型的浅拷贝 接下来,我们将展示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...