代码改变世界

Java对象序列化

2012-07-30 16:53  javaspring  阅读(215)  评论(0编辑  收藏  举报

Java对象序列化要求实现一个Serializable接口,不过实现另外一个接口也行,叫做Externalizable。

进行序列化的只有非静态的成员变量,如果有引用型的变量,则引用型变量也必须实现接口。

如果有某一个成员变量你不想序列化,在它的前面加上关键字transient。

如果你自己想操作序列化,对某些成员序列化,某些不序列化,则可以自己完成序列化在自己的类中

写下下面的方法

private void writeObject(java.io.ObjectOutputStream oos) throws IOException

{

}

private void readObject(java.io.ObjectOutputStream oos) throws IOException

{

}

那么在进行序列化的时候这两个方法会被调用。

这两个方法是私有的,按理说只有在类中才能被调用,怎么在类外面被调用?

呵呵,这是个特例