Я хочу написать новый класс, который расширяет другой, и в новом классе я хочу определить переменную с тем же именем, что и у родительского.Я могу сделать это нормально в Java, так как оба являются частными, но когда я пытаюсь сериализовать объект с помощью gson, я получаю сообщение об ошибке, так как есть два свойства с одинаковым именем (даже если наследуемое от родительского класса равно нулю и, следовательно, не должнобыть включены в JSON).
Например, рассмотрим эти классы:
public class Car {
private String color;
private Seat seat;
}
public class Seat {
private boolean isAdjustable;
}
и эти классы:
public class FancyCar extends Car {
private FancySeat seat;
private boolean hasSpoiler;
}
public class Fancyseat extends Seat {
private boolean hasSeatWarmers;
}
с этими классами я мог бы создать новый FancyCarс сиденьем, которое является регулируемым и имеетSeatWarmers.Но если бы я выполнил сериализацию с помощью gson, это вызвало бы исключение, поскольку он попытался бы проанализировать обе переменные с именем seat, даже если та, что унаследована от Car, равна нулю.
Есть ли лучший способ разработки этих классов?Или способ заставить gson полностью игнорировать нулевые поля?