直接说结果:clone方法是浅拷贝。
1.java的object类有clone方法,子类调用必须实现Cloneable接口。
2.clone方法默认是浅拷贝的,即返回一个新的对象,但是新对象里的引用类型变量地址指向的还是原对象内引用类型地址。
3.可以实现不完全的深拷贝,即原对象内所有引用类型变量都实现Cloneable接口。原对象重写clone方法时,这些引用类型变量也调一次clone方法。
4.彻底深拷贝,几乎是不可能实现的。因为对象里的引用类型变量经常出现层层调用关系。
参考资料,讲的很好:详解Java中的clone方法 – 深拷贝和浅拷贝