prehodna ključna beseda v Javi

prehodno je modifikator spremenljivk, ki se uporablja v serializacija . Če v času serializacije ne želimo shraniti vrednosti določene spremenljivke v datoteko, uporabimo prehodno ključna beseda. Ko naleti JVM prehodno ključna beseda prezre prvotno vrednost spremenljivke in shrani privzeto vrednost tega podatkovnega tipa spremenljivke. prehodno ključna beseda igra pomembno vlogo pri izpolnjevanju varnostnih omejitev. Obstajajo različni primeri iz resničnega življenja, ko zasebnih podatkov ne želimo shraniti v datoteko. Druga uporaba prehodno ključna beseda ni serializirati spremenljivke, katere vrednost je mogoče izračunati/izpeljati z drugimi serializiranimi objekti ali sistemom, kot je starost osebe, trenutni datum itd. Praktično smo serializirali samo tista polja, ki predstavljajo stanje primerka, potem ko je vsa serializacija namenjena shranjevanju stanja objekta v datoteko. To je dobra navada za uporabo prehodno 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   }   
prehodno in statično: Ker statična polja niso del stanja predmeta, uporaba/vpliv uporabe ni nobena prehodno ključna beseda s statičnimi spremenljivkami. Vendar ni nobene napake pri kompilaciji. prehodno in dokončno: končne spremenljivke so neposredno serializirane s svojimi vrednostmi, tako da ni nobene uporabe/vpliva deklaracije končne spremenljivke kot prehodno . 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