浅拷贝
浅拷贝的对象, 对于基本数据类型, 拷贝值, 而引用变量和包装类型只拷贝内存地址. 改变其中一个引用变量内的属性会影响到另外一个对象.
Java中从Object中继承的clone()方法默认实现的是浅拷贝.

浅拷贝模型
深拷贝
深拷贝的对象, 所有引用变量都与原对象指向不同的内存地址, 但内容完全相同. 改变引用对象内容不影响另一个.

深拷贝模型
如何实现?
- 将可拷贝对象实现接口
Cloneable, 重写clone()接口 - 浅拷贝对象, 直接调用
super.clone() - 深拷贝对象, 需要我们自定义如何实现.
比如Person里面有一个嵌套属性spouse, 则需要重新new一个Person类, 将旧对象spouse属性中的值赋予新spouse, 这样返回的spouse不会是同一个引用地址.