Сериализация с наследованием

У меня есть класс A, который мне нужно сериализовать, но я не могу менять его код

@Getter
@Setter
public class A (){
   private int i;
   public A (int i) {
     this.i = i;
   }
   public A () {}
}

создал класс B

public class B extends A implements Serializable {
   public A (int i) {
     super(i);
   }
}

Тут пробую записать его и прочитать

public class Test{
public static void main(String[] args) {
    B b1 = new B(10);
    // Сериализация и десериализация
}

В итоге получаю все нули. При десериализации вызывается пустой конструктор класса A и в переменную i записывает 0. Но я не могу вносить правки в класс А, как мне это победить?


Ответы (0 шт):