-4

如果 B 类扩展了 A 类,B 类实现了 Serializable,并且 A 类有一个不可序列化的公共静态初始化变量...尝试使用 的writeObject()方法编写类的 B 对象FileOutputStream,将序列化从 A 继承的不可序列化成员将其与 B 类的其余变量一起写入文件中,否则会抛出NotSerializableException

4

1 回答 1

1

这是因为当您将对象写入输出流时不会保存静态字段。

文档中:

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

于 2016-02-11T08:09:04.620 回答