В Java мы используем метод writeObject(Object obj) ObjectOutputStream для сериализации Object.
Но так как метод принимает объект, реализующий интерфейс java.io.Serializable (или он бросает NotSerializableException), почему он все еще использует параметр Object, а не Serializable, например writeObject(Serializable o)?
Есть ли какие-либо соображения по проектированию?