具有多重继承的Java序列化?
我正在学习和尝试Java序列化。我的代码具有继承性并遵循结构具有多重继承的Java序列化?,java,serialization,deserialization,Java,Serialization,Deserialization,我正在学习和尝试Java序列化。我的代码具有继承性并遵循结构 Scaffold -> Game.java -> Goals (abstract) -> (extended by) -> GoalsExtender 我在Scaffold(dummy)类中有一个反序列化方法,可以打开game.ser可序列化的数据并将其强制转换为(game)。因此,我不能直接为GoalsXtender本身传递序列化数据,否则它将创建类强制转换异常 这是我的目标。java public abs
Scaffold -> Game.java -> Goals (abstract) -> (extended by) -> GoalsExtender
我在Scaffold(dummy)类中有一个反序列化方法,可以打开game.ser
可序列化的数据并将其强制转换为(game)
。因此,我不能直接为GoalsXtender
本身传递序列化数据,否则它将创建类强制转换异常
这是我的目标。java
public abstract class Goals {
private String score;
public Goals(String str) {
this.score = str;
}
String getGoals() {
return this.score;
}
void doSomething(Context context) {
}
}
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;
}
}
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);
}
这是我的游戏。java
public abstract class Goals {
private String score;
public Goals(String str) {
this.score = str;
}
String getGoals() {
return this.score;
}
void doSomething(Context context) {
}
}
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;
}
}
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);
}
下面是goalsXtender.java
public abstract class Goals {
private String score;
public Goals(String str) {
this.score = str;
}
String getGoals() {
return this.score;
}
void doSomething(Context context) {
}
}
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;
}
}
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.)当反序列化并将
(游戏)
类型转换为(游戏)
时,是否可以在GoalXtender.java
中传递一个游戏
序列化对象,该对象可以设置俱乐部名称
和玩家名称
?(本地POJO创建方法也可以)您能否提供一个示例,说明您到底想做什么?另外,目标
类可能也应该实现可序列化