如何实现对象的克隆?

(1)实现 Cloneable 接口并重写 Object 类中的 clone() 方法;

(2)实现 Serializable 接口,通过对象的序列化和反序列化实现克隆,可以实现真正的深克隆。

kite进行回复 取消回复

后才能评论

评论(4)

  • 一蓑烟雨 普通 2022-09-27 8:56 下午

    方法一,重写即super.clone(),实现的是浅克隆
    方法二,实现的是深克隆

  • Ulmarr8861 普通 2022-02-24 1:46 下午

    三、两种不同的克隆方法,浅克隆(ShallowClone)和深克隆(DeepClone)。
    浅克隆是指拷贝对象时仅仅拷贝对象本身(包括对象中的基本变量),而不拷贝对象包含的引用指向的对象。

    深克隆不仅拷贝对象本身,而且拷贝对象包含的引用指向的所有对象。举例来说更加清楚:

  • kite 普通 2021-07-16 4:51 下午

    这也是除了new关键字之外,用来创建对象的另外两种方式