深拷贝提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
- 前言
- 一、浅拷贝是什么?
- 二、深拷贝是什么?
- 深拷贝的几种实现方式
- 1.clone实现(最常用)
- 2.构造函数实现
- 总结
前言
提示:深拷贝与浅拷贝的本质市创建一个和一致对象一模一样的对象:本质去呗在于地址的拷贝或者是包括数据的拷贝
一、浅拷贝是什么?
浅拷贝就是拷贝引用,
例如:
Test test1 = new Test();
Test test2 = test1
二、深拷贝是什么?
深拷贝的本质是拷贝出一个新的对象
调用对象的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);
总结
提示:这里对文章进行总结:
本文仅仅简单介绍了深浅拷贝的关系与其实现方式,欢迎大家补充
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)