Guava ForwardingObject,Serializable和无参数构造函数

时间:2017-02-14 15:19:50

标签: java guava serializable

来自番石榴的ForwardingObject的javadoc:

  

虽然这个类没有实现Serializable,但是可序列化   可以创建子类,因为此类具有无参数   构造

为什么类需要无参数构造函数才能成为Serializable?我误解了什么,或者这只是javadoc中的一个错误?

1 个答案:

答案 0 :(得分:1)

这只是意味着你可以写:

class MyForwardingFoo extends ForwardingObject implements Serializable {
  //
}

尽管ForwardingObject本身不可序列化,但它仍然是可序列化的;提到空构造函数可能不是最好的措辞,但从语言的角度来看,它是实现可串行化的充分条件。更重要的是ForwardingObject本身不包含任何不可序列化的字段。