一个对象的克隆可能会存在问题,当一个对象的域中存在对其他对象的引用,克隆就可能发生浅拷贝,会出现克隆出来的对象的域中也引用那块区域。所以为了避免这个问题,需要手动的去实现Cloneable接口,代码如下
class Employee implements Cloneable{ public Employee clone() throws CloneNotSupportedExcepti on { Employee cloned = ( Employee ) super . clone() ; cloned.hireDay = (Date) hireDay.clone ( ) ; return cloned } }
需要去手动的去调用域中对象的克隆