对象的序列化:就是将对象转换成二进制的过程
对象的反序列化:就是将二进制数据转换成对象的过程
对象序列化时需要注意:
- 只有实现序列化接口Serializable的对象才能被序列化
- 设置序列化的版本号:防止版本号不一致导致序列化和反序列化失败
private static final long serialVersionUID = 1L;
- 不需要序列化的属性可以通过transient关键字修饰
//定义游戏角色类:只有实现序列化接口Serializable的对象才能被序列化
class Player implements Serializable{
/**
* 设置序列化的版本号:防止版本号不一致导致序列化和反序列化失败。
*/
//设置序列化ID
private static final long serialVersionUID = 3514500544194356716L;
//定义角色属性
String name;
int hp;
int mp;
//不需要序列化的属性可以通过transient关键字修饰。
transient String weapon;//不会被序列化
//定义功能
public void attack() {
System.out.println("角色攻击。。。。");
}
public Player(String name, int hp, int mp, String weapon) {
super();
this.name = name;
this.hp = hp;
this.mp = mp;
this.weapon = weapon;
}
public Player() {
super();
}
@Override
public String toString() {
return "Player [name=" + name + ", hp=" + hp + ", mp=" + mp + ", weapon=" + weapon + "]";
}
}