对象序列化
对象保存到磁盘用对象输出流。
writeObject 放入某一对象内。
readObject 读取某一信息返回类型是Object 。
继承Serializable接口。
InetAddress.getLocalHost()获取IP地址。
定制对象序列化
如:private void writeObject(ObjectOutputStream out) throws IOException {
String pwd = changed(userpwd);
out.writeObject(name);
out.writeObject(age);
out.writeObject(addr);
out.writeObject(pwd);
}
private void readObject(ObjectInputStream in) throws IOException,ClassNotFoundException {
this.name = (String)in.readObject();
this.age = (Integer)in.readObject();
this.addr = (String)in.readObject();
this.userpwd = (String)in.readObject();
}
//密码反转的功能
private String changed(String in) {
StringBuffer sb = new StringBuffer(in);
sb.reverse();
return sb.toString();
}
public String toString() {
return "Name:"+name+"\nAge:"+age+"\nAddr:"+addr+"\nPwd:"+userpwd+"\n\n";
}
transient关键字限制属性写入到文件或网络中,避免NotSerializableException异常。
transient关键字用在定制对象序列化中是不起作用的。
System.out.println(obj); 会自动调用toString方法。
static属性,方法不被序列化;对属性和类进行序列化。