1.原型模式
- 通过new产生一个对象需要常繁琐的数据准备或访问权限,则可以使用原型模式。
- 就是java中的克降技术,以某个対象为原型,复制出新的对象,新的对象具备原型对象的特点
优势有:效率高(直接克隆,避免重新执行构造) - 克隆类似于new,但是不同于new。New出的对象属性采用的是默认值。克隆出的对象的属性值完全和原型象相同。并且克隆的新对象改变不会影响原型对象。然后,再修改克隆对象的值
2.原型模式实现
2.1Cloneable接口和Object的clon()方法
…
@Override
protected Object clone() throws CloneNotSupportedException {
return super.clone();
}
…
public class People02 implements Cloneable {
private String name;
private Date birthday;
public class People02 implements Cloneable {
private String name;
private Date birthday;
@Override
protected Object clone() throws CloneNotSupportedException {
Object obj=super.clone();
People02 p=(People02) obj;
p.birthday=(Date) this.birthday.clone();
return obj;
}
…
2.2通过实现Serializable接口序列化反序列化实现深克隆