定义
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
通用模版
不使用new,使用复制的方法。
应用场景
- 资源优化场景。原型模式是在内存二进制流的拷贝,比直接new一个对象性能好很多,特别是要在一个循环体内产生大量对象时。类初始化需要消化非常多的资源,包括数据、硬件资源等。
- 性能和安全要求的场景。通过new产生一个对象需要非常繁琐的数据准备或访问权限。
- 一个对象多个修改者的场景。
注意事项
1、构造函数不会被执行。
2、浅拷贝和深拷贝。
Java提供的clone方法只是拷贝对象,对内部数组、引用对象都不拷贝,还是指向原生对象的内存地址,是浅拷贝,不安全。
3、对象的clone与对象内的final关键字冲突。