Java Tutorial/Language/transient
Demonstrates the "transient" keyword
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.Date;
public class MainClass {
public static void main(String[] args) throws Exception {
User a = new User("A", "B");
System.out.println("logon a = " + a);
ObjectOutputStream o = new ObjectOutputStream(new FileOutputStream("User.out"));
o.writeObject(a);
o.close();
Thread.sleep(1000); // Delay for 1 second
ObjectInputStream in = new ObjectInputStream(new FileInputStream("User.out"));
System.out.println("Recovering object at " + new Date());
a = (User) in.readObject();
System.out.println("logon a = " + a);
}
}
class User implements Serializable {
private Date date = new Date();
private String username;
private transient String password;
public User(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 + "\n password: "
+ pwd;
}
}