浅拷贝与深拷贝

拷贝:拷贝a对象创建一个新对象b,b的初始状态与a相同,但之后各自会有各自的状态。

拷贝规则:

浅拷贝:拷贝引用。

深拷贝:拷贝引用与实例,并递归地拷贝实例中的实例。

默认的拷贝是浅拷贝,对于对象中的子对象共享引用,如果子对象是不可变的,那么共享是安全的,但子对象大多都是可变的,必须重写clone方法建立深拷贝来克隆子对象。如果要用到clone()方法,需要实现Cloneable接口。clone()方法是Object的一个protected方法。

Cloneable接口:Cloneable接口没有指定任何方法,clone()方法是从Object继承的,它是一个标记接口,如果使用克隆而没有实现接口,则会抛出一个ClassNotSupportedException。

(标记接口不包含任何方法,唯一的作用就是允许在类型查询中使用instanceof)

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值