<java与模式> ---电子书
原型模式:
深度拷贝:一个是将一个对象中的一个所有域和方法都复制一遍,其中的对象域也一并复制;另一个种是通过流来进行深克窿,因为在java虚拟机中,当把一个对象写到流的对象只是一个拷贝,JVM中还存在原对象。(把对象写到流的过程叫串行化——Serializable)要能够实现第二种深复制必须满足,类中所引用的对象全部都是串行话的,否则,就需要仔细考察那些不可串行化的对象是否可设成transient,从而将之排除在复制之外。
代码测试:
public Object objcetClone() throws IOException, ClassNotFoundException{
ByteArrayOutputStream o = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(o);
out.writeObject(this);
ByteArrayInputStream i = new ByteArrayInputStream(o.toByteArray());
ObjectInputStream in = new ObjectInputStream(i);
return in.readObject();
}
posted on 2005-07-30 21:05
sky 阅读(108)
评论(0) 编辑 收藏