标签:
默认的克隆操作为浅拷贝,它并没有克隆包含在对象中的内部对象。
深拷贝指,重新定义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