网上铺天盖地,有那么多写浅克隆和深克隆区别的。小妹我自己来个精辟的总结吧(也不知道对不对呢
)
)浅克隆:传引用
深克隆:传值
下面上图,进行具体说明,内容有点黄哦

浅克隆示意图
:
:浅克隆的几点说明:
- 对象:“酒店的房间”。
- 引用:“钥匙”
- 默认情况,一个房间配一把钥匙
- 进行浅克隆之后,其实是配了多把相同的钥匙!!!
- 这些钥匙打开的,是同一个“酒店的房间”。
- 此时
- 张三拿着第一把钥匙,进了房间,给“免费的套套”用完了

- 之后李四,拿着第二把钥匙,进了房间之后,再找套套的时候,发现套套已经用完的了
。。。 - 李四一气之下,给床整湿了,
- 最后王五拿着第三把钥匙,进房间之后,发现,床也湿了,套套也用完了

- 哈哈,我解释的通俗易懂吧~~~~~~~
深克隆示意图:
深克隆的几点说明:
- 对象:“酒店的房间”。
- 引用:“钥匙”
- 默认情况,一个房间配一把钥匙
- 进行深克隆之后,其实是酒店新建了多个相同的房间而已!!!!!
- 这些房间配备都是一样的:比如房间的面积都相同,床的大小头相同,床的品牌都一样,床的摆放位置都朝南,等等(酒店的标准间嘛
) - 但是这些房间的门牌号不一样(201,202,203),201屋里床和202屋里绝对不是同一张床哦!
- 此时
- 张三拿着201钥匙,进了房间(201),给“免费的套套”用完了

- 李四,拿着202钥匙,进了房间(202)之后,当然202室里的套套还在哦

- 如果李四,给床整湿了,那也是202的床湿了
- 王五,拿着203钥匙,进了房间(203)之后,就会发现,床也没湿了,套套也在
- 哈哈,我解释的通俗易懂吧~~~~~~~
好了,java对象的深克隆和浅克隆的区别,到此解释完毕,通俗易懂,不要喷小妹我哦
。
。

本文通过形象的比喻,详细解释了Java对象的浅克隆和深克隆区别,使用通俗易懂的语言帮助读者理解这一概念。

4443

被折叠的 条评论
为什么被折叠?



