子类是否序列化父类'那些不可序列化的成员?

时间:2016-02-11 07:53:21

标签: java class fileoutputstream serializable notserializableexception

如果B类扩展了A类,B类实现了Serializable,而A类有一个不可序列化的公共静态初始化变量......试图编写一个类'使用writeObject() FileOutputStream方法的B对象将序列化A中的非序列化继承成员,以便将其写入包含B类其余变量的文件中,或者它将抛出NotSerializableException

1 个答案:

答案 0 :(得分:1)

这是有效的,因为在输出流上编写对象时,不会保存静态字段。

来自documentation

  

对象的默认序列化机制会写入类   对象,类签名和所有非瞬态的值   和非静态字段。对其他对象的引用(除了   瞬态或静态字段)也会导致写入这些对象。   使用引用对单个对象的多个引用进行编码   共享机制,使对象的图形可以恢复到   与写原稿时的形状相同。