Я изучаю и пытаюсь сериализовать 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 тоже подойдет)