设计模式---原型

//原型,彻头彻底给你创建一个对象,不用new,也不用复制,一次行搞定。
    //咋整,jdk搞定给你。继承java.lang.Cloneable即可。标示类继承。类似java.lang.seriousable,即可序列化一样
    //原型,也叫克隆,克隆有浅,深,浅简单最外层克隆一次即可。深所有引用对象,克隆一次。
    //Object类clone方法是保护属性,继承类里面可以用。继承类对象没法用。所以搞个重写。
    
    public class XX implements java.lang.Cloneable{        
        int i;
        java.util.HashMap cc = new java.util.HashMap<String,String>();
        public XX(int i,java.util.HashMap<String,String> bb){
            this.i = i;
            this.cc = bb;
        }
        
        public XX clone(){
            XX xx = null;
            try {
                xx = (XX)super.clone();
            } catch (CloneNotSupportedException e) {
                e.printStackTrace();
            }
            return xx;
        }
    }

    @SuppressWarnings("rawtypes")
    public static void main(String[] args){
        java.util.HashMap<String,String> aa = new java.util.HashMap<String,String>();
        aa.put("1", "2");
        test.XX xx = new test().new XX(5,aa);
        test.XX yy = xx.clone();
        yy.cc.put("1", "3");
        System.out.println(xx.cc.get("1"));

猜你喜欢

转载自blog.csdn.net/huangddy/article/details/83758023