深拷贝和浅拷贝

  • 直接赋值复制:

理解:两个相同的类对象赋值的话,复制的是引用,如将a2赋值给a1(A a1 = a2),则两个变量指向同一个对象,所以当a1变化时,a2也会变化;反之当a2变化时,a1也会变化。

  • 浅拷贝:

理解:如果是基本数据类型的话,就是直接复制值。

  如果是引用数据类型的话,就是复制引用但不复制引用的对象。即两个对象的地址引用的是同一个对象。

 

  • 深拷贝:

理解:深拷贝复制的不只是对象本身,还有对象包含的引用指向的所有对象,即创建一个相同的对象,但引用的不是同一个对象,两个对象是单独分开的。

  • 内存四大组成部分:栈区、堆区、全局/静态区、只读区
  1. 栈区:

存放数据:局部参数、形参

  1. 堆区:

存放数据:new出来的数据

  1. 全局/静态区:

存放数据:全局变量和静态变量

  1. 只读区:

 存放数据:常量

总结:

浅拷贝:复制引用但不复制引用的对象(两个对象的地址引用的是同一个对象。)

深拷贝:复制引用并且复制引用的对象(引用的不是同一个对象,两个对象是单独分开的

                             

                                                                                                      ---end--- 

                                                                                                扫描下方二维码

                                                                                          添加好友,备注【交流】

                                                                               可私聊相互学习,共同进步,资源共享

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值