【java常用类】浅谈深拷贝,浅拷贝。

浅拷贝:拷贝基本类型,引用类型指向与原来的一样

深拷贝:基本类型,引用类型都拷贝一份。

在查找几篇博客之后,之以为懂了深拷贝,浅拷贝,然后还是发现自己对于他们的理解还是出现了问题,

理解1:浅拷贝,深拷贝你调用了几次,就拷贝几次。

比如你调用一次clone方法,那么就拷贝一次,拷贝后就产生了各种的对象属性,不依赖原来的对象了。只是浅拷贝和原来的对象有牵连。

 

如图所示,浅拷贝会拷贝一个School2对象,只拷贝基本类型,不拷贝引用类型,所以School2.Student与School1指向的是同一个student,通过School1去修改student属性,School2的student因为指向一样,所以会跟着改变,但是如果School1.student指向一个新的对象newStudent,那么School2.student是不会跟着改变的。因为它只是指向对象student,与School1.student里面对象指向谁无关。

最后,浅拷贝和深拷贝就是这样子咯,另外说句题外话,知识的诅咒:你懂了一件事情之后,你就不知道这件事情对于不懂的人来说,他们哪些不懂。所以我遇见的问题,如果有相同的话,那太好了,如果不同的话,觉得这篇博客多此一举,那么恭喜获得了知识的诅咒。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值