定义 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象
类图
优点
1. 性能优良 原型模式是在内存二进制流的拷贝,要比直接new一个对象性能好很多,特别是要在一个循环内产生大量对象时
2. 逃避构造函数的约束 直接在内存中拷贝,构造函数不会执行
使用场景
1. 资源优化场景 类初始化需要消耗非常多的资源时
2. 性能和安全要求的场景
注意事项
1. 用clone方法产生新对象时,构造函数不会被执行
1. 浅拷贝/深拷贝 浅拷贝指使用clone方法时只拷贝本对象,其对象内部的数组,引用对象(String 除外)都不拷贝,还是指向原生对象的内部元素地址。深拷贝之后,两个对象不再有任何瓜葛,对其中任何一个修改都将不会影响另一个
浅拷贝
深拷贝 代码如上
3. Clone和final 要使用clone()方法,则类的成员变量不能增加final关键字