|--对象的序列化与反序列化//操作对象的数据流对象
1.ObjectOutputStream —— 对象的序列化
延长对象的生命周期
ObjectOutputStream 将 Java 对象的基本数据类型和图形写入 OutputStream。
只能将支持 java.io.Serializable 接口的对象写入流中。
所以要将对象写入文件。要将对象序列化也就是实现Serializable接口。这个叫做标记接口
|——
final void writeObject(Object obj)
将指定的对象写入 ObjectOutputStream。对象的类、类的签名,以及类及其所有超类型的非瞬态和非静态字段的值都将被写入。
可以使用 writeObject 和 readObject 方法重写类的默认序列化
2.ObjectInputStream —— 对象的反序列化
ObjectInputStream 对以前使用 ObjectOutputStream 写入的基本数据和对象进行反序列化。
final Object readObject()
从 ObjectInputStream 读取对象。对象的类、类的签名和类及所有其超类型的非瞬态和非静态字段的值都将被读取。
可以使用 writeObject 和 readObject 方法为类重写默认的反序列化。
|--Serializable 用于给序列化的类加入ID 号
用于判断类和对象是否是同一版本
|--translent //修饰对象的属性,可以变成瞬态的属性。不被写入流对象
非瞬态和非静态字段的值都将被写入 |