Java核心技术学习之对象拷贝(copy)和对象克隆(clone)

Java核心技术学习之对象拷贝(copy)和对象克隆(clone)
拷贝:原对象和克隆对象引用同一个对象
克隆:原对象和拷贝对象引用不同对象,但是如果对象包含子对象的引用,拷贝域就会得到相同子对象的另一个引用,这样一来,原对象和克隆的对象仍然会共享一些信息。
Java核心技术学习之对象拷贝(copy)和对象克隆(clone)
默认的克隆操作 是“ 浅拷贝”,并没有克隆对象中引用的其他对象。怎么讲克隆变为深拷贝?实现 Cloneable 接口, 将 clone 方法重新定义为 public,再调用 super.clone()。
可参考https://blog.csdn.net/Weixiaohuai/article/details/103722428


浅拷贝:当对象被复制时只复制它本身和其中包含的值类型的成员变量,而引用类型的成员对象并没有复制。
深拷贝:除了对象本身被复制外,对象所包含的所有成员变量也将复制。