概念
将一个对象作为原型,对其进行复制、克隆,产生一个和原对象类似的新对象。
浅复制:将一个对象复制后,基本数据类型的变量都会重新创建,而引用类型,指向的还是原对象所指向的。
深复制:将一个对象复制后,不论是基本数据类型还有引用类型,都是重新创建的。
优点:
- 当直接创建对象的代价比较大时,采用这种模式会使创建性能提高。
- 逃避只能利用构造函数创建对象的约束。
缺点:
- 对于全新的类利用接口实现克隆很容易,但对于已有的类,不一定类的对象引用成员也实现了相应克隆接口以便于我们实现原型模式,
- 需要实现 Cloneable 接口 或是 序列化接口。
使用方法
对象复制
序列化与反序列化