































































上面的类是要clone的类。






































测试类的执行结果为:
before clone
ObjectForShallowClone get number : 888
ObjectForShallowClone ReferencedObject get number : 1
after clone
ObjectForShallowClone get number : 888
ObjectForShallowClone ReferencedObject get number : 1
CloneObject get number : 999
CloneObject ReferencedObject get number : 2
从结果可以看出,程序成功完成了深clone。关键点是:
1:对于类ObjectForClone,里面有两个成员分别是
整数的 i
ReferencedObject类型的 rf
这两个成员属于两种不同的类型,int型的成员属于基本类型成员,另一个属于引用类型成员。注意,要成功实现ObjectForClone的深clone,还必须要先实现该类里面的引用类型成员()的clone方法。
2:准备clone的类,除了实现Cloneable接口,还要重写clone()方法,而且要声明该方法为public。