new和clone的区别

             new操作符的本意是分配内存。程序执行到new操作符时,首先去看new操作符后面的类型,因为知道了
    类型,才能给它分配多大的内存空间。分配完内存后就调用构造函数进行填充对象的各个域,这一步
    叫对象的初始化,构造方法返回后,一个对象创建完毕,就可以把他的引用(地址)发布到外部,在
    外部就可以使用这个引用操纵这个对象。
            clone在第一步是和new相似的,都是分配内存,调用clone方法时,分配的内存和原对象(调用clone
    方法的对象)相同,然后再使用原对象中对应的各个域,填充新对象的域,填充完成之后,clone方法
    返回,一个新的相同的对象被创建,同样可以把这个新对象的引用发布到外部。
            深拷贝对象必须要实现Cloneable接口,实现clone方法,且方法内部要把对象引用的其它对象也要clone
    一份,这就要求这个被引用的对象必须也要实现Cloneable接口并实现clone方法

   参照来源于《黑马程序员面试宝典(java)》

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值