码迷,mamicode.com
首页 > 其他好文 > 详细

深复制 Or 浅复制

时间:2015-01-05 22:01:54      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:

 

 当初在学习《设计模式》的时候,遇到过这个问题,当时还不是很理解,现在回想一下,做个小小的总结。

 1.什么是浅复制

技术分享

 分析下上述图片,刚开始有一个Tom的引用类型的变量指向了堆中的一个动物园的对象,动物园有自己的属性比如面积、大小,当然也会有动物,因此,动物园中又指向了鸭子的对象,如果此时采取浅复制的话,最终的效果如上图所示,对于其中的引用型对象,我们采取浅复制的时候,只是单纯的复制了其地址,并没有在堆上创建出一个新的对象。


 2.什么是深复制

技术分享

 知道了浅复制,深复制就好理解了,还是看上图,如果采取深复制的话,就是将引用成员指向的对象也复制一份。实际的过程就是创建新的引用指向新的对象,然后复制对象中包含的数据。

深复制 Or 浅复制

标签:

原文地址:http://blog.csdn.net/luckyzhoustar/article/details/42430231

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!