0
点赞
收藏
分享

微信扫一扫

java中的深拷贝与几种实现方式

君心浅语 2022-04-29 阅读 50
java

深拷贝


前言

提示:深拷贝与浅拷贝的本质市创建一个和一致对象一模一样的对象:本质去呗在于地址的拷贝或者是包括数据的拷贝


一、浅拷贝是什么?

浅拷贝就是拷贝引用,
例如:

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);

总结

提示:这里对文章进行总结:
本文仅仅简单介绍了深浅拷贝的关系与其实现方式,欢迎大家补充

举报

相关推荐

0 条评论