关于浅克隆和深克隆

关于浅克隆和深克隆

本质上都是浅克隆

 		D d = new D();

        D clone = (D)d.clone();

浅克隆

在这里插入图片描述

满足的条件:

​ 1,克隆的对象的类实现cloneable接口

​ 2,重写clone()方法

解释:

​ 对象调用clone()方法会将自身的所有非引用对象的内容复制过来并返回一个对象,且属性值与原来的一样,内存地址不同

深克隆

在这里插入图片描述

​ 满足的条件:

​ 1,克隆的对象的类实现cloneable接口

​ 2,重写clone()方法

​ 3,引用本身需要实现cloneable接口

解释:

​ 深克隆本质上是浅克隆,复制过来的引用对象,内存地址与原来的都不同。

Guess you like

Origin blog.csdn.net/dddd2225/article/details/119857454