意图:使用原型实例指定要创建对象的类型,通过复制这个原型来创建新对象
解决问题:利用已有的一个原型对象,快速地生成和原型对象一样的实例。
public abstract class Prototype {
abstract Prototype myClone();
}
public class ConcretePrototype extends Prototype {
private String filed;
public ConcretePrototype(String filed) {
this.filed = filed;
}
@Override
Prototype myClone() {
return new ConcretePrototype(filed);
}
@Override
public String toString() {
return filed;
}
}
public class Client {
public static void main(String[] args) {
// TODO Auto-generated method stub
Prototype prototype = new ConcretePrototype("abced");
Prototype clone = prototype.myClone();
System.out.println(clone.toString());
System.out.println(prototype == clone); //false
System.out.println(prototype.equals(clone));//false
}
}