首页 > 其他分享 >深拷贝和浅拷贝的区别

深拷贝和浅拷贝的区别

时间:2022-10-27 20:46:15浏览次数:70  
标签:区别 对象 clone Person 引用 拷贝 序列化

浅拷贝:
实现了Cloneable接口,重写了clone(),直接调用父类Object的clone()方法

深拷贝:

Person类的clone()方法进行修改,连带着把Person对象内部的Address对象一起复制

还可以通过序列化和反序列化实现,效率低

 

引用拷贝:两个不同引用指向同一个对象

 

标签:区别,对象,clone,Person,引用,拷贝,序列化
From: https://www.cnblogs.com/doremi429/p/16833669.html

相关文章

  • display和visibility的区别
    采用CSS实现元素隐藏的方法有很多种,比如定位到屏幕之外、透明度变换等。而常见的两种方式是将元素设置为display:none或者visibility:hidden。元素样式设置为display:none当......
  • http和https的区别
    http也就是超文本传输协议,是互联网上应用最为广泛的一种传输协议,是以明文方式发送消息的,所以有不发分子截取了web浏览器和服务器之间的传输报文,就可以直接获得信息,可想而知......
  • localhost与127.0.0.1的区别
    127.0.0.1与localhost的区别很多人会接触到这个IP地址127.0.0.1。也许你会问127.0.0.1是什么地址?其实127.0.0.1是一个回送地址,指本地机,一般用来测试使用。大家常用来pi......
  • c#的winform组件中,Menu和MenuStrip,以及MenuItem和ToolStripMenuItem有什么区别?
    https://zhidao.baidu.com/question/572383135.html首先从字面上理解,Menu就是菜单,MenuStrip是菜单栏,MenuItem是菜单项,ToolStripMenuItem是工具栏菜单项Menu是Form类的一个......
  • spfa和bfs的区别
    \(spfa\)和\(bfs\)的区别\(spfa\)在形式上和\(bfs\)非常类似,不同的是\(bfs\)中一个点出了队列就不可能重新进入队列,但是\(spfa\)中一个点可能在出队列之后再次被放入队列,......
  • STL库——push_back()与emplace_back()的区别
    相同点push_back()与emplace_back()都是往尾部添加一个元素不同点底层实现机制不同:push_back()向容器尾部添加元素时,首先会创建这个元素,然后再将这个元素拷贝或者移动......
  • sass和scss的区别
    首先注意,这里的sass和我们的scss是什么关系sass和scss其实是一样的css预处理语言,SCSS是Sass3引入新的语法,其后缀名是分别为.sass和.scss两种。SASS版本3.0之前的......
  • setInterval setTimeout区别
    区别:setTimeout只运行一次,也就是说设定的时间到后就触发运行指定代码,运行完后即结束;而setinterval是一直循环运行下去,即每到设定时间间隔就触发指定代码,要想停止,需要使用cl......
  • if 和三元表达式的区别
    在C语言层面除了写法以外没什么区别。inta=5;a==0?puts("x"):puts("z");if(a==0){puts("x");}else{puts("z");}在汇编语言层面上有一......
  • 关于for-in和for-of的区别
    1.循环数组区别一:forin和forof都可以循环数组,forin输出的是数组的index下标,而forof输出的是数组的每一项的值。constarr=['a','b','c','d']//for........