【发布时间】:2017-07-02 23:02:06
【问题描述】:
来自番石榴ForwardingObject的javadoc:
虽然这个类没有实现
Serializable,但是一个可序列化的 可以创建子类,因为此类具有无参数 构造函数。
为什么类需要无参数构造函数才能成为Serializable?我误解了什么,或者这只是 javadoc 中的一个错误?
【问题讨论】:
标签: java guava serializable
来自番石榴ForwardingObject的javadoc:
虽然这个类没有实现
Serializable,但是一个可序列化的 可以创建子类,因为此类具有无参数 构造函数。
为什么类需要无参数构造函数才能成为Serializable?我误解了什么,或者这只是 javadoc 中的一个错误?
【问题讨论】:
标签: java guava serializable
这只是意味着你可以写:
class MyForwardingFoo extends ForwardingObject implements Serializable {
//
}
尽管ForwardingObject 本身不可序列化,但它仍可序列化;提到空构造函数可能不是最好的措辞,但从语言的角度来看,它是实现可序列化的充分条件。更重要的是ForwardingObject 本身不包含任何不可序列化的字段。
【讨论】: