一.概念
为什么要序列化对象和反序列化呢,是为了保存对象的数据,还有如果保存int 100 到磁盘中,只会保存100这个值,不保存类型,所以为了保存数据类型和数据值,就必须序列化。
1.序列化
就是将对象保存在磁盘中,进行持久化,也可以将对象信息进行传输。
2.反序列化
就是读取磁盘中保存的对象,恢复使用对象的过程。
二.ObjectInputStream 和 ObjectOutputStream完成序列化和反序列化操作
说明: 对象输入流和输出流,进行对象的序列化和反序列化操作。
writeObject() 序列化方法
readObject() 反序列化方法
三.使用细节
1.序列化和反序列化的对象,需要实现Serializable接口
2.序列化的类最好添加SerialVersionUID属性,用来兼容版本
3.序列化的对象默认将所有的属性进行序列化,除了static和transient修饰的
4.序列化对象,里面的属性的类型也必须实现序列化
5.如果一个类进行了序列化,那么它的所有子类也都默认序列化