java中的clone()方法的研究---(2)浅克隆和深克隆

来源:互联网 发布:苹果机下载不了软件 编辑:程序博客网 时间:2024/05/17 22:15
网上铺天盖地,有那么多写浅克隆和深克隆区别的。小妹我自己来个精辟的总结吧(也不知道对不对呢害羞

浅克隆:传引用
深克隆:传值


下面上图,进行具体说明,内容有点黄哦安静

浅克隆示意图惊恐

浅克隆的几点说明:
  • 对象:“酒店的房间”。
  • 引用:“钥匙”
  • 默认情况,一个房间配一把钥匙


  • 进行浅克隆之后,其实是配了多把相同的钥匙!!!
  • 这些钥匙打开的,是同一个“酒店的房间”。


  • 此时
  • 张三拿着第一把钥匙,进了房间,给“免费的套套”用完了安静
  • 之后李四,拿着第二把钥匙,进了房间之后,再找套套的时候,发现套套已经用完的了大哭。。。
  • 李四一气之下,给床整湿了,
  • 最后王五拿着第三把钥匙,进房间之后,发现,床也湿了,套套也用完了发火
  • 哈哈,我解释的通俗易懂吧~~~~~~~




深克隆示意图:





深克隆的几点说明:
  • 对象:“酒店的房间”。
  • 引用:“钥匙”
  • 默认情况,一个房间配一把钥匙



  • 进行深克隆之后,其实是酒店新建了多个相同的房间而已!!!!!
  • 这些房间配备都是一样的:比如房间的面积都相同,床的大小头相同,床的品牌都一样,床的摆放位置都朝南,等等(酒店的标准间嘛大笑
  • 但是这些房间的门牌号不一样(201,202,203),201屋里床和202屋里绝对不是同一张床哦!


  • 此时
  • 张三拿着201钥匙,进了房间(201),给“免费的套套”用完了安静
  • 李四,拿着202钥匙,进了房间(202)之后,当然202室里的套套还在哦惊讶
  • 如果李四,给床整湿了,那也是202的床湿了
  • 王五,拿着203钥匙,进了房间(203)之后,就会发现,床也没湿了,套套也在
  • 哈哈,我解释的通俗易懂吧~~~~~~~


好了,java对象的深克隆和浅克隆的区别,到此解释完毕,通俗易懂,不要喷小妹我哦害羞





1 0