目的

使用原型实例指定要创建对象的类型,通过复制这个原型来创建新对象。

类图

原型类图.png

实现

  1. public abstract class Prototype{
  2. abstract Prototype myClone();
  3. }
  4. public class ConcretePrototype extends Prototype{
  5. private String filed;
  6. public ConcretePrototype(String filed){
  7. this.filed = filed;
  8. }
  9. @Override
  10. Prototype myClone(){
  11. return new ConcretePrototype(filed);
  12. }
  13. @Override
  14. public String toString(){
  15. return filed;
  16. }
  17. }
  18. public class Client{
  19. public static void main(String[] args){
  20. Prototype prototype = new ConcretePrototype("abc");
  21. Prototype clone = prototype.myClone();
  22. System.out.println(clone.toString());
  23. }
  24. }
  25. 运行结果
  26. abc

JDK中的体现