java-设计模式-3-创建型模式-原型
java-设计模式-3-创建型模式-原型
原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。
本体给外部提供一个克隆体进行使用。
Cloneable是一个标记接口,实现这个接口,重写Object类的clone方法,这个方法里面写克隆的逻辑。
//原型模式
public class CloneDemo implements Cloneable{private String name;public String getName() {return name;}public void setName(String name) {this.name = name;}@Overrideprotected Object clone() throws CloneNotSupportedException {CloneDemo cloneDemo = new CloneDemo();cloneDemo.setName(this.name);return super.clone();}
}class MainTest{public static void main(String[] args) throws CloneNotSupportedException {CloneDemo cd = new CloneDemo();cd.setName("克隆1");Object clone = cd.clone();}
}
深拷贝和浅拷贝的区别:深(两个完全对象不一样的【递归克隆】,内容却完全一样)、浅(只是属性赋值)