Wednesday, November 4, 2015

Transient Keyword


To understand transient keyword, we must know the concept of serialization. In serialization, Java object represented as a sequence of bytes with data and its type. Object has been written into a file.

Now to declare any object serialized, we must implement Serializable interface and declare the object as transient. Any of the transient variables never is serialized. In the below example, we declare String middleName as transient.



import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;

class TryCatchData implements Serializable {
       private String firstName;
       private transient String middleName;
       private String lastName;

       public TryCatchData(String firstName, String middleName, String lastName) {
              this.firstName = firstName;
              this.middleName = middleName;
              this.lastName = lastName;
       }

       public String toString() {
              StringBuilder builder = new StringBuilder();
              builder.append("First Name : ");
              builder.append(this.firstName);
              builder.append(" Middle Name : ");
              builder.append(this.middleName);
              builder.append(" Last Name : ");
              builder.append(this.lastName);
              return builder.toString();
       }
}



public class TryCatch {
       public static void main(String args[]) throws Exception {
              TryCatchData writeData = new TryCatchData("Try", "2", "Catch");
              ObjectOutputStream outStream = new ObjectOutputStream(new FileOutputStream("TryCatchData"));
              outStream.writeObject(writeData);
              outStream.close();

              ObjectInputStream inputStream = new ObjectInputStream(new FileInputStream("TryCatchData"));
              TryCatchData readData = (TryCatchData) inputStream.readObject();
              System.out.println(readData);
       }
}

Output: First Name : Try Middle Name : null Last Name : Catch


No comments:

Post a Comment

Thank you for your comments.