首页 相关文章 谈谈J2SE中的序列化之接受默认序列化

谈谈J2SE中的序列化之接受默认序列化

  首先要了解java默认的序列化行为,java将一切关于对象的信息都保存了下了,也就是说,有些时候那些不需要保存的也被保存了下来。一般情况下,我们仅仅需要保存逻辑数据就可以了。不需要保存的数据我们可以用关键字transient标出。

  以下是一个例子:

  

import java.io.*;
public class Serial implements Serializable {
 int company_id;
 String company_addr;
 transient boolean company_flag;
}

  则company_flag字段将不会参与序列化与反序列化,但同时你也增加了为他初始值的责任。这也是序列化常常导致的问题之一。因为序列化相当于一个只接受数据流的public构造函数,这种对象构造方法是语言之外的。但他仍然是一种形式上的构造函数。如若你的类不能够通过其他方面来保证初始化,则你需要额外的提供readObject方法,首先正常的反序列化,然后对transient标示的字段进行初始化。

  在不适合的...[ 查看全文 ]

2016-02-19 标签:

谈谈J2SE中的序列化之接受默认序列化的相关文章

手机页面
收藏网站 回到头部