пролазна кључна реч у Јави

пролазна је модификатор променљивих који се користи у серијализација . У време серијализације, ако не желимо да сачувамо вредност одређене променљиве у датотеци онда користимо пролазан кључна реч. Када ЈВМ наиђе пролазан кључна реч игнорише оригиналну вредност променљиве и чува подразумевану вредност тог типа података променљиве. пролазан кључна реч игра важну улогу у испуњавању безбедносних ограничења. Постоје разни примери из стварног живота где не желимо да чувамо приватне податке у фајлу. Друга употреба пролазна кључна реч није да се серијализује променљива чија се вредност може израчунати/извести коришћењем других серијализованих објеката или система, као што је старост особе, тренутни датум итд. Практично смо серијализовали само она поља која представљају стање инстанце након што се сва серијализација спрема да сачува стање објекта у датотеци. Добра је навика за коришћење пролазна keyword with private confidential fields of a class during serialization. Java
   // A sample class that uses transient keyword to   // skip their serialization.   class   Test     implements     Serializable   {      // Making password transient for security      private     transient     String     password  ;      // Making age transient as age is auto-      // computable from DOB and current date.      transient     int     age  ;      // serialize other fields      private     String     username       email  ;      Date     dob  ;      // other code   }   
пролазни и статични: Пошто статична поља нису део стања објекта нема употребе/утицаја коришћења пролазна кључна реч са статичким променљивим. Међутим, нема грешке у компилацији. пролазно и коначно: коначне променљиве су директно серијализоване својим вредностима тако да нема користи/утицаја декларисања коначне променљиве као пролазан . There is no compile-time error though. Java
   // Java program to demonstrate transient keyword   // Filename Test.java   import     java.io.*  ;   class   Test     implements     Serializable   {      // Normal variables      int     i     =     10       j     =     20  ;      // Transient variables      transient     int     k     =     30  ;      // Use of transient has no impact here      transient     static     int     l     =     40  ;      transient     final     int     m     =     50  ;      public     static     void     main  (  String  []     args  )     throws     Exception      {      Test     input     =     new     Test  ();      // serialization      FileOutputStream     fos     =     new     FileOutputStream  (  'abc.txt'  );      ObjectOutputStream     oos     =     new     ObjectOutputStream  (  fos  );      oos  .  writeObject  (  input  );      // de-serialization      FileInputStream     fis     =     new     FileInputStream  (  'abc.txt'  );      ObjectInputStream     ois     =     new     ObjectInputStream  (  fis  );      Test     output     =     (  Test  )  ois  .  readObject  ();      System  .  out  .  println  (  'i = '     +     output  .  i  );      System  .  out  .  println  (  'j = '     +     output  .  j  );      System  .  out  .  println  (  'k = '     +     output  .  k  );      System  .  out  .  println  (  'l = '     +     output  .  l  );         System  .  out  .  println  (  'm = '     +     output  .  m  );      }   }   
Output :
i = 10 j = 20 k = 0 l = 40 m = 50