Java 序列化是指:将一个对象转化成一串二进制表示的字节数组,通过保存或转移这些字节数据来达到持久化的目的。
需要持久化,对象必须继承 java.io.Serializable 接口。
- 父类继承 java.io.Serializable 接口,所有的子类都可被序列化。
- 子类继承 java.io.Serializable 接口,父类没有,父类的属性不会被序列化(数据丢失),子类属性能正常序列化。
- 如果序列化的属性是对象,则对象必须继承 java.io.Serializable 接口,否则报错。
- 反序列化时,对象的属性有修改或删除,则修改的部分属性会丢失,但不会报错。
- 反序列化时,serialVersionUID 被修改,则反序列化会失败。