原型模式

目的就是實現深複製

//實現Cloneable接口,不然調用clone()時拋出CloneNotSupportException
public class Person implements Cloneable {
    public String name;

    public Person(String name) {
        this.name = name;
    }

    @Override
    public Person clone() {
        Person person = null;
        try{
            person = (Person)super.clone();
        }catch(CloneNotSupportedException e) {
            e.printStackTrace();
        }
        return person;
    }
}
        Person yellow = new Person("小黃");
        Person oldJ = yellow.clone();
        oldJ.name="老將";
        Log.d("meee",getClass()+":\n"+"yellow:"+yellow.name);
        Log.d("meee",getClass()+":\n"+"oldJ:"+oldJ.name);

也可以自己創建ICloneable接口

public interface ICloneable {
    Object clone();
}
//實現類調用構造器實現複製過程
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章