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


如果类 B 扩展类 A,

则类 B 实现可序列化,并且类 A 具有不可序列化的公共静态初始化变量...尝试使用FileOutputStream方法编写类的 B 对象writeObject() ,将序列化来自 A 的不可序列化继承成员以将其与类 B 的其余变量一起写入文件中,还是会抛出NotSerializableException

这之所以有效,是因为当您通过输出流写入对象时,不会保存静态字段。

从文档中:

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

相关内容

  • 没有找到相关文章

最新更新