根据可序列化的javadoc
反序列化期间,将使用该类的公共或受保护的无参数构造函数来初始化不可序列化类的字段。无参数构造函数必须对可序列化的子类可访问。可序列化子类的字段将从流中恢复。
同样,仅当要序列化的类不可序列化时,才会引发序列化异常。拥有不可序列化的父母是可以的(只要他们有一个无参数的构造函数)。对象本身不是可序列化的,并且一切都会对其进行扩展。上面的引用还说明了为什么您为value字段获得不同的值-
设置了父类的no-arg构造函数,该构造函数将value字段设置为10-该字段属于(不可序列化的)父类,因此其值不是写入/读取流。



