浅复制:复制对象的属性,对于引用类型的属性不复制
深复制:不仅要复制对象的属性,还要复制对象的引用属性
如果一个类的对象要能够进行克隆(深复制或浅复制),则必须要实现则必须
实现Cloneable空接口,如果没有实现则会抛CloneNotSupportedException异常
修改克隆后的对象,不会对原对象造成影响
实现
实现Cloneable接口方式
1.浅克隆 重写Object类的clone()方法
2.深克隆:将当前对象的引用对象进行克隆(前提是引用类型类允被克隆[需实现Cloneable])
序列化和反序列化方式
1.需要序列化的类实现Serializable接口
2.自定义"深拷贝"方法