对象流:ObjectInputStream ObjectOutputStream
序列化和反序列化
1.序列化就是在保存数据时, 保存数据的值和数据类型
2.反序列化就是在恢复数据时,恢复数据的值和数据类型
3.需要让某个对象支持序列化机制, 则必须让其类是可序列化的,为了让某个类是可序列化的,该类必须实现如下两个接口之:
Serializable//这是一个标记接口,没有方法
Externalizable//该接口有方法需要实现,因此我们一般实现上边的Serializable接口
注意:
1.读写顺序要一致
2.要求序列化或反序列化对象,需要实现Serializable
3.序列化的类中建议添加SerialVersionUID,为了提高版本的兼容性
4.序列化对象时,默认将里面所有的属性都进行序列化,但除了说stastic或transient修饰的成员
5.序列化对象时,要求里面属性的类型也需要实现序列化接口
6.序列化具备可继承性,如果某类已经实现序列化,则它的所有子类也已经默认实现了序列化
标准流:
类型 | 默认设备 | |
System.In 标准输入 | InputStream | 键盘 |
System.out 标准输出 | PrintStream | 显示器 |