2017-02-14 5 views
1

Из Javadoc из гуавы-х ForwardingObject:гуава ForwardingObject, Сериализуемый и конструктор без параметров

Хотя этот класс не реализует Serializable, сериализуемые подкласса может быть создан, так как этот класс имеет конструктор без параметров .

Почему конструктор без параметров нужен для того, чтобы класс мог быть Serializable? Я что-то не понимаю, или это просто ошибка в javadoc?

ответ

1

Это просто означает, что вы можете написать:

class MyForwardingFoo extends ForwardingObject implements Serializable { 
    // 
} 

и это будет сериализации несмотря сам ForwardingObject не сериализации; упоминание пустого конструктора, вероятно, не лучшая формулировка, но с точки зрения языка это достаточное условие для обеспечения сериализации. Более важным является тот факт, что ForwardingObject сам по себе не содержит никаких несериализуемых полей.

Смежные вопросы