Java对象克隆

来源:互联网 发布:淘宝代销不赚钱 编辑:程序博客网 时间:2024/06/07 20:58

Java对象克隆

Java对象克隆,也叫对象复制,对象拷贝。
为什么会有这个操作呢?试想有一个实体类,有很多属性,并且很多属性已经赋了值,这个时候需要对这个对象进行修改操作,但后面还会用到原来的值。

赋值

如果只是简单的声明new一个对象,使用赋值操作把旧对象赋给新对象,当对新对象修改时,旧对象的值同样会变,因为新对象只是指向旧对象的一个引用。

浅克隆

被克隆的类实现Cloneable接口,重写clone方法。这种克隆方式,如果被克隆的类中成员变量都是基本数据类型,可以实现了两份数据。吐过被克隆的类中成员变量包含对象类型的成员变量,那么这个成员变量还是原来的引用,修改新对象的值,旧对象的该对象类型的成员变量还是会变化。即浅克隆。

深克隆

被克隆的类以及它的对象类型的成员变量都实现了Cloneable接口,重写了clone方法。即深克隆。

使用序列化辅助克隆

待续