У меня есть иерархия классов следующим образом:Иерархия классов в сериализации и десериализации
public class A implements Serializable {}
public class B extends A {}
public class C implements Serializable extends B {}
public class D extends C {}
Является ли мое суждение правильно?
При сериализации класса D
все классы в иерархии сериализованы, потому что подклассы сериализованы.
При десериализации класса D
конструктор по умолчанию не требуется, и вся иерархия десериализована.
Я так не думаю. Если вы сериализуете 'D', тогда только' D' получает сериализованную, а не всю иерархию. – markspace
@markspace Вы неверны. Интерфейсы суперклассов наследуются, а сериализация включает все сериализуемые суперклассы. Это довольно простая Java. – EJP
@EJP Итак, вы говорите, что все классы сериализуемы? Или вы говорите, что если 'D' будет сериализован, его суперклассы тоже будут? Я думал, что сериализация включает данные класса, но не включает файлы .class. – markspace