随笔-19  评论-2  文章-1  trackbacks-0

 

   <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 阅读(102) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: