随笔小计,记录学习,记录成长

本文深入探讨了Java中浅克隆和深克隆的区别及应用场景。浅克隆仅复制对象的基本类型属性,对于引用类型则共享同一实例;深克隆通过序列化创建对象的完整副本,确保对象间的独立性。

2020-08-17,学习小计

以前都是看别人博客,今天散记自己的学习当天内容,一遍自己复习,对其他人应该没有学习价值,因为我的语言随意组织的,不过我感觉挺通俗易懂的。第一次使用Markdown编辑器有些慌张。2020-08-17。

浅克隆和深克隆

今天重新复习了一下Java中浅克隆和深克隆的知识,面试和日常开发使用,因为自己是菜鸟,场景知道的很少。废话不多说直接说:都在内存中开辟新空间,static和transient修饰的属性不背克隆

  1. 浅克隆 :要求克隆对象类必须实现Cloneable接口,然后调用clone()方法,注意:这个方法是继承自Object类的,并不是Cloneable接口的,至于为什么,因为clone()方法定义为native的,jvm层面的吧,反正我暂时是这么理解;通过浅克隆的到的新对象,基本类型,变化其中一个,另一个不影响,但是被克隆对象里面的成员变量是引用类型,则共用,就是说,改变其中任意一个对象的引用属性的值,另一个也随着变化
  2. 深克隆:序列化的一种方式,要求被克隆对象实现Serializable接口,该接口中其实什么属性什么方法都没有。通过对象输出流和输入流,克隆一个新对象,这时该新对象就完全独立为一个新对象了,其内的引用属性也不会随着另一个变化而变化了。

个人认为该内容较详细链接: 此链接失效了,还是没玩明白….

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值