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

java中的深拷贝与几种实现方式,第1张

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

深拷贝
  • 前言
  • 一、浅拷贝是什么?
  • 二、深拷贝是什么?
    • 深拷贝的几种实现方式
      • 1.clone实现(最常用)
      • 2.构造函数实现
  • 总结


前言

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


一、浅拷贝是什么?

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

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

总结

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

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/langs/787140.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-05
下一篇 2022-05-05

发表评论

登录后才能评论

评论列表(0条)

保存