首页 > 其他 > 详细

深拷贝和浅拷贝

时间:2015-07-08 18:38:14      阅读:265      评论:0      收藏:0      [点我收藏+]

默认的克隆操作为浅拷贝,它并没有克隆包含在对象中的内部对象。

深拷贝指,重新定义clone方法,以便实现克隆子对象。

 

Object类中clone方法被声明为protected,无法直接调用anObject.clone()。

子类只能调用受保护的clone方法克隆自己(?)

实现Cloneable接口,将clone重新定义为public,并调用super.clone()。

class A implements Cloneable{

  public A clone() throws CloneNotSupportedException{

    return (A)super.clone();

  } 

}

 

深拷贝

class A implements Cloneable{

  Data d;

  public A clone() throws CloneNotSupportedException{

    A cloned = (A)super.clone();

    cloned.d = (Date)d.clone();

    return cloned;

  } 

}

深拷贝和浅拷贝

原文:http://www.cnblogs.com/zorooooa/p/4628677.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!