Почему ObjectOutputStream.writeObject(Object o); но не ObjectOutputStream.writeObject(Serializable o) - программирование

Почему ObjectOutputStream.writeObject(Object o); но не ObjectOutputStream.writeObject(Serializable o)

В Java мы используем метод writeObject(Object obj) ObjectOutputStream для сериализации Object.

Но так как метод принимает объект, реализующий интерфейс java.io.Serializable (или он бросает NotSerializableException), почему он все еще использует параметр Object, а не Serializable, например writeObject(Serializable o)?

Есть ли какие-либо соображения по проектированию?

4b9b3361