Board logo

标题: JAVA序列化 Serializable与Externalizable的区别 [打印本页]

作者: qingqing3721    时间: 2011-8-17 13:45     标题: JAVA序列化 Serializable与Externalizable的区别

大家都知道Serializable是一个mark interface,通知JVM这个对象可以被转换成二进制流来传输.
  但是Serializable与Externalizable的转换二进制流的过程是不一样的.
  Serializable 在我们完成这个接口的时候,我们可以使用4个公有方法来控制序列化的过程:
  我们来看一个例子:
  Java代码
  public class FooImpl implements java.io.Serializable{
  private String message;
  public String getFoo() {
  return message;
  }
  public void setMessage(String message) {
  this.message = message;
  }
  private void writeObject(java.io.ObjectOutputStream out) throws IOException {
  System.聚利时旗舰店out.println("writeObject invoked");
  out.writeObject(this.message == null ? "hohohahaha" : this.message);
  }
  private void readObject(java.io.ObjectInputStream in) throws IOException,
  ClassNotFoundException {
  System.out.println("readObject invoked");
  this.message = (String) in.readObject();
  System.out.println("got message:" + message);
  }




欢迎光临 编程开发论坛 (http://bbs.lihuasoft.net/) Powered by Discuz! 6.0.0