protected native Object clone()
=赋值运算符,对引用来说,是赋值地址
clone() 拷贝对象
Cloneable接口,以指示 Object.clone() 方法可以合法地对该类实例进行按字段复制
浅拷贝:
拷贝对象的时候,只是对各个属性的数据直接拷贝,
针对引用类型的属性,并没有开辟新的空间
所以,拷贝后的对象操作引用类型的属性,还会影响到之前的对象
深拷贝:
拷贝对象的时候,会进一步针对引用类型的属性,新开辟空间
保证拷贝后的数据是完全独立的一份,不会影响之前的对象
实现步骤
1、实现Cloneable
2、重写clone()
如果直接调用父类的实现,这种是浅拷贝。
对自身属性以及继承链上的引用类型的数据,手动拷贝,这种就是深拷贝。(流的方式去实现)