我读接口Serializable
的文档,其中我发现下面几行:为什么基类(不实现Serializable)如果其子类实现Serializable,应该没有参数构造函数?
允许非序列化类的子类型序列化,子类型可以承担保存和恢复的状态责任超类型的公共,受保护和(如果可访问的)包字段。只有当它继承的类有一个可访问的无参数构造函数来初始化类的状态时,该子类才可以承担这个责任。如果不是这种情况,则声明一个类Serializable是错误的。该错误将在运行时检测到。
但是,恢复对象的状态时,基类的no-arg构造函数的作用是什么?
见http://www.jguru.com/faq/view.jsp?EID=251942 – GKislin