Сериализация 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, которые могут использовать другие способы сериализации, которые не требуют, чтобы объект был сериализуемым.