如果B类扩展了A类,B类实现了Serializable,而A类有一个不可序列化的公共静态初始化变量......试图编写一个类'使用writeObject()
FileOutputStream
方法的B对象将序列化A中的非序列化继承成员,以便将其写入包含B类其余变量的文件中,或者它将抛出NotSerializableException
?
答案 0 :(得分:1)
这是有效的,因为在输出流上编写对象时,不会保存静态字段。
对象的默认序列化机制会写入类 对象,类签名和所有非瞬态的值 和非静态字段。对其他对象的引用(除了 瞬态或静态字段)也会导致写入这些对象。 使用引用对单个对象的多个引用进行编码 共享机制,使对象的图形可以恢复到 与写原稿时的形状相同。