0

我有一些应该是的类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

4

1 回答 1

0

我有一些应该是可序列化的类,因此需要一个空参数构造函数。

这不是强制性的。如果一个类或其超类是可序列化的,则不必在该类中定义无参数构造函数,直到您将该类扩展为由于构造函数链接而需要的其他类。

于 2013-03-31T14:13:06.560 回答