深拷贝
前言
提示:深拷贝与浅拷贝的本质市创建一个和一致对象一模一样的对象:本质去呗在于地址的拷贝或者是包括数据的拷贝
一、浅拷贝是什么?
浅拷贝就是拷贝引用,
例如:
Test test1 = new Test();
Test test2 = test1
二、深拷贝是什么?
深拷贝的本质是拷贝出一个新的对象
深拷贝的几种实现方式
1.clone实现(最常用)
调用对象的clone方法,必须让类实现Cloneable接口(告知jvm当前类可拷贝),并且重载clone方法(修改clone由protected改为public修饰)
重写clone方法 :
public <T> T clone(){
return (T)super.clone();//super.clone()是浅拷贝
}
实现对象的clone:
T t = new T();
t t2 = t.clone();//会返回一个全新的对象
2.构造函数实现
代码如下 :
T t = new T(属性1,属性2,属性3);
T t1 = new T(t.属性1,t.属性2,t.属性3);
总结
提示:这里对文章进行总结:
本文仅仅简单介绍了深浅拷贝的关系与其实现方式,欢迎大家补充