java.io.ObjectOutputStream说“对于OutputStream的问题,异常被抛出,对于不应该序列化的类, 。”
这意味着什么......不应该序列化哪些类型
答案 0 :(得分:3)
--->只有当对象的类或其超类实现Serializable(或Externalizable)接口时,该对象才可序列化。
--->对象是可序列化的(本身实现了Serializable接口),即使它的超类不是。但是,可序列化类的层次结构中的第一个超类(不实现Serializable接口)必须具有无参数构造函数。如果违反了此规则,readObject()将在运行时生成java.io.InvalidClassException。
--->每个不可序列化的超类的no-arg构造函数将在反序列化对象时运行。但是,反序列化的对象?构造函数在反序列化时不会运行。
--->该类必须在序列化时可见。
--->所有基本类型都是可序列化的。
--->瞬态字段(带有瞬态修饰符)未被序列化(即,未保存或恢复)。实现Serializable的类必须标记不支持序列化的类的瞬态字段(例如,文件流)。
--->静态字段(带有静态修饰符)未序列化。
--->如果可序列化对象的成员vairiables引用了不可序列化的对象,则代码将被编译但是将抛出RumtimeException。
答案 1 :(得分:0)
这意味着什么......不应该序列化哪些类型
措辞不好。这意味着有关的班级没有实施Serializable.