标签:图片 tac java rgs 原型对象 style clone() new prototype
图1 原型模式【点击查看大图】
public class Prototype implements Cloneable{ public Prototype clone(){ Prototype prototype=null; try{ prototype=(Prototype)super.clone(); }catch (CloneNotSupportedException e){ e.printStackTrace(); } return prototype; } } class ConcretePrototype extends Prototype { private int num= (int) (Math.random()*100); public void show() { System.out.println("原型模式实现类-"+num); } }
public class Client { public static void main(String[] args) { ConcretePrototype cp=new ConcretePrototype(); for(int i=0;i<10;i++){ ConcretePrototype clonecp=(ConcretePrototype) cp.clone(); clonecp.show(); } } }
首先:单例模式是只能产生一个实例化对象,构造方法私有化,不能通过普通的方法进行实例化。
如果想要获取新的实例化对象,要怎么办呢?
①直接跳过无视私有化构造:反射机制
②我压根不新建立一个实例化对象,跳过私有化构造,我直接进行开辟新空间的数据深拷贝:原型模式
以上两种方法都可以无视单例模式,获取多个实例化对象。
标签:图片 tac java rgs 原型对象 style clone() new prototype
原文地址:https://www.cnblogs.com/Mufasa/p/11387347.html