Сериализация Java с множественным наследованием? - PullRequest
0 голосов
/ 25 июня 2018

Я изучаю и пытаюсь сериализовать Java.Мой код имеет Наследование и имеет структуру

Scaffold -> Game.java -> Goals (abstract) -> (extended by) -> GoalsExtender

У меня есть метод десериализации в классе Scaffold (dummy) с открытиями, которые могут открывать game.ser сериализуемые данные и приводить их к (Game).Таким образом, я не могу напрямую передать сериализованные данные для GoalsExtender, иначе он создаст исключение приведения класса.

Вот мой Goals.java

public abstract class Goals {
private String score;

public Goals(String str) {
    this.score = str;
}

String getGoals() {
    return this.score;
}

   void doSomething(Context context) {
    }
 }

Вот мой Game.java

public class Game implements Serializable {
    public String name;
    public int game_num;
    public int opp;
    public int player;
    public Goals goal;

    public Game(int i, int i2, int i3) {
        this.player = i;
        this.game_num = i2;
        this.opp = i3;
    }

    public Game(String str, Goals goal) {
        this.name = str;
        this.goal = goal;
    }

}

Вот GoalsExtender.java

public class GoalsExtender extends Goals implements Serializable {
 private String team_name;
 private String club_name;
 private String player_name;

   public GoalsExtender(String team_name, String club_name, String player_name) {
        super(team_name);
        this.club_name = club_name;
        this.player_name = player_name;
    }

   void doSomething(Context context){
         StringBuilder stringBuilder = new StringBuilder();
         stringBuilder.append(player_name);
         stringBuilder.append(" has scored for");
         stringBuilder.append(team_name);

  }

Вопросы:

1.) Можете ли вы передать Game сериализованный объект, который может установить club_name и player_name внутри GoalsExtender.java, когда он десериализован и приведен к типу (Game)?(Подход к созданию локального POJO тоже подойдет)

...