关于clone函数

今天看core java看到了clone函数
要想使用clone函数首先必须实现接口Cloneable,重新定义clone函数为公有的,并调用super.clone()

class Employee implements Cloneable
{
   public Object clone()
      {
         try
            {
                  return super.clone();
            }
            catch (CloneNotSupportedException e) { return null; }
}
..........
}

使用clone函数是要注意一个浅拷贝和深拷贝的问题,默认的拷贝操作都是浅拷贝——没有克隆对象内部引用的其他对象,所以要实现深拷贝,需要克隆可变实例字段需重建立clone方法

具体知识可参考core java章节--接口和内部类

你可能感兴趣的:(关于clone函数)