码迷,mamicode.com
首页 > 其他好文 > 详细

深拷贝和浅拷贝

时间:2015-07-08 18:38:54      阅读:112      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!