对象的序列化,反序列化
1)对象序列化,就是将Object转换成byte序列,反之叫对象的反序列化
2)序列化流(ObjectOutputStream),是过滤流----writeObject
反序列化流(ObjectInputStream)---readObject
3)序列化接口(Serializable)
对象必须实现序列化接口 ,才能进行序列化,否则将出现异常
这个接口,没有任何方法,只是一个标准
4) transient关键字
private void writeObject(java.io.ObjectOutputStream s)
throws java.io.IOException
private void readObject(java.io.ObjectInputStream s)
throws java.io.IOException, ClassNotFoundException
分析ArrayList源码中序列化和反序列化的问题
5)序列化中 子类和父类构造函数的调用问题
一、父类实现了serializable接口,子类继承就可序列化。
1、子类在反序列化时,父类实现了序列化接口,则不会递归调用其构造函数。
二、父类未实现serializable接口,子类自行实现可序列化
2、子类在反序列化时,父类没有实现序列化接口,则会递归调用其构造函数。