首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

设计形式==原型模式(ProtoType)

2012-08-26 
设计模式==原型模式(ProtoType)/* * 原型模式(ProtoType) * * 通过一个原型对象来创建一个新对象(克隆)。Ja

设计模式==原型模式(ProtoType)

/* * 原型模式(ProtoType) * * 通过一个原型对象来创建一个新对象(克隆)。Java中要给出Clonable接口的实现,具体类要实现这个接口,并给出clone()方法的实现细节,这就是简单原型模式的应用。  浅拷贝:只拷贝简单属性的值和对象属性的地址  深拷贝:拷贝本对象引用的对象,有可能会出现循环引用的情况。可以用串行化解决深拷贝。写到流里再读出来,这时会是一个对象的深拷贝结果。 * * */package model;import java.io.Serializable;public class TestClonealbe {    public static void main(String[] args) throws Exception {        Father f = new Father();        User u1 = new User("123456", f);        User u2 = (User) u1.clone();        System.out.println(u1 == u2);        System.out.println(u1.f == u2.f);    }}class User implements Cloneable, Serializable {        private static final long serialVersionUID = 1L;    String password;    Father f;    public User(String password, Father f) {        this.password = password;        this.f = f;    }    public Object clone() throws CloneNotSupportedException {        return super.clone();    }}class Father implements Serializable {    private static final long serialVersionUID = 1L;}
?

热点排行