我有一些应该是Serializable
的类,因此需要一个空参数构造函数。
此外,我想为所有类实现提供一些自定义init()
例程。
到目前为止,我在无参数构造函数中只有init()
。但是,由于我现在需要一个空的无参数构造函数来进行序列化,我如何确保所有实现的自动执行init()
方法?
示例:
abstract class Foo implements Serializable {
int id;
Foo() {
id = UUID.randomUUID();
}
}
class Bar extends Foo {
Bar() {}
Bar(String param) {
//...
}
}
这就是我以前的样子。始终为隐式的任何实现调用Foo()
构造函数。该实现不必考虑任何UUID
代。
如果我必须使Foo()
成为Serialization
的空构造函数,我怎样才能实现相同目标?
答案 0 :(得分:0)
我有一些应该是Serializable的类,因此需要为空 参数构造函数。
不是强制性的。如果一个类或它的超类是可序列化的,那么在你要将该类扩展到由于构造函数链接而需要的其他类之前,不必在该类中定义无参数构造函数。