序列化接口仅仅是一个标准 他没有方法 实现了这个接口 代表这是一个对象序列化流
对象序列化的概念
将对象流化 将对象写入文件 将对象做网络的传输
能被序列化的对象:实现java.io.Serializable
ObjectOutputStream(对象序列化流) writeObject()
ObjectInputStream(对象反序列化流) readObject()返回一个Object类的对象 要做相应的转型
反序列化
概念:将流转换为对象的过程
使用的流:ObjectInputStream
序列化号和瞬态关键字
用对象序列化流序列化了一个对象后,假如我们修改了对象所属的类文件,读取数据会不会出问题呢?
会出问题:抛出InvalidClassException异常
如果出问题了,如何解决呢?
给对象所属的类加一个serialVersionUID
private static final long serialVersionUID = 42L;//后边是常量自己可改 不改的话类改变了 还是能反序列化
如果一个对象中的某个成员变量的值不想被序列化,又该如何实现呢?
给该成员变量加transient关键字修饰,该关键字标记的成员变量不参与序列化过程
|
|