Java中的transient关键字
最新推荐文章于 2025-08-23 07:46:58 发布
本文介绍了一个简单的Java程序,该程序演示了如何使用Java的序列化和反序列化机制来保存和恢复对象的状态。通过一个包含用户名和密码的Logon类实例,展示了如何将对象写入文件并从文件中读回。
本文介绍了一个简单的Java程序,该程序演示了如何使用Java的序列化和反序列化机制来保存和恢复对象的状态。通过一个包含用户名和密码的Logon类实例,展示了如何将对象写入文件并从文件中读回。

被折叠的 条评论
为什么被折叠?
import java.util.*;
class Logon implements Serializable {
private Date date = new Date();
private String username;
private transient String password;
Logon(String name, String pwd) {
username = name;
password = pwd;
}
public String toString() {
String pwd =
(password == null) ? "(n/a)" : password;
return "logon info: \n " +
"username: " + username +
"\n date: " + date.toString() +
"\n password: " + pwd;
}
public static void main(String[] args) {
Logon a = new Logon("Hulk", "myLittlePony");
System.out.println( "logon a = " + a);
try {
ObjectOutputStream o =
new ObjectOutputStream(
new FileOutputStream("Logon.out"));
o.writeObject(a);
o.close();
// Delay:
int seconds = 5;
long t = System.currentTimeMillis()
+ seconds * 1000;
while(System.currentTimeMillis() < t)
;
// Now get them back:
ObjectInputStream in =
new ObjectInputStream(
new FileInputStream("Logon.out"));
System.out.println(
"Recovering object at " + new Date());
a = (Logon)in.readObject();
System.out.println( "logon a = " + a);
} catch(Exception e) {
e.printStackTrace();
}
}
} ///:~