Mega Code Archive

 
Categories / Java Tutorial / Language
 

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;   } }