java中,大家都知道要实现串行化的类必须先实现Serializable接口,这句话我原以为就这么简单,
然而前几天我写程序的时候才发现里面还有文章,其实一个类要实现串行化,不但这个类要实现Serializable接口外,
这个类里面的成员属性也要实现Serializable接口才能把这个类的成员写进文件里,
举个例子:
class House implements Serializable{
private Table;
private Chair;
}
class Table implements Serializable{
private Book;
private Pen;
}
class Chair {
。。。。
}
class Pen implements Serializable{
。。。。。
}
class Book{
。。。。
}
如上面几个类,假设现在你为每一个类成员都赋值了,然后你把House类写入文件,这之后你再把House类读出来,你就会发现
实现了Serializable接口的类成员(Table中的Pen)还是你写进去的值,而没有实现Serializable接口的类成员(Chair和Table中的Book)却是空值。