Сериализация Java, writeObject(Object obj), почему бы не writeObject(Serializable obj)

Метод подписи ObjectOutputStreamметод записи

public final void writeObject(Object obj) throws IOException

Как obj должен реализовать Serializable (знать о маркерах). Почему Java-разработчики не пишут этот метод как

public final void writeObject(Serializable obj) throws IOException

Есть ли причина?

1 ответ

Решение

writeObject определен в интерфейсе ObjectOutput и его API говорит The class that implements this interface defines how the object is written, Это означает, что теоретически могут быть реализации, отличные от ObjectOutputStream, которые могут использовать другие способы сериализации, которые не требуют, чтобы объект был сериализуемым.

Другие вопросы по тегам