Java对象有克隆分为两种,浅克隆和深拷贝
首先,浅克隆:
比如:
Empolyee original=new Employee(……);
Empolyee copy=original;
可以看到,就是个简单的复制动作。但这个只能对其中的部分域进行复制,没有拷贝内部对象。
而执行浅克隆,也会引起另处一个问题,克隆或原对象对子对象的改变:String类无法改变可以不用理会,但像Date这样的子对象,我们知道是可以改变的,而依据类的属性,这个子对象又不允许改变值,而original和copy是共享这个子对象的,所以不安全。
这时我们需要用新的方法来解决这个问题
……………………
《Java核心技术卷一》中,作者并不推荐实现Cloneable方法来作深拷贝,所以在此本人持保留态度,暂时不往下写,等以后在工作学习中到了必要的时候再进行即时处理。