GOF设计模式之原型模式(prototype)
具有深克隆和浅克隆两种方法,使用原型模式需要继承Cloneable,原型模式一般用在需要new对象要耗费大量资源时使用。(反序列可以实现深克隆,本文章没有实现)
浅克隆
1 | public class Sheep implements Cloneable{ |
测试
1 | /** |
结果
修改时间对象会影响克隆的对象
Thu Jan 01 08:00:12 CST 1970
修改后Wed Jan 07 20:45:21 CST 1970
Wed Jan 07 20:45:21 CST 1970
深克隆
1 | public class Sheep implements Cloneable{ |
测试
1 | /** |
结果
修改时间对象不会影响克隆的对象
Thu Jan 01 08:00:12 CST 1970
修改后Wed Jan 07 20:45:21 CST 1970
Thu Jan 01 08:00:12 CST 1970