tranzitoriu este un modificator de variabile folosit în serializare . În momentul serializării, dacă nu dorim să salvăm valoarea unei anumite variabile într-un fișier, atunci folosim tranzitoriu cuvânt cheie. Când apare JVM tranzitoriu cuvântul cheie ignoră valoarea originală a variabilei și salvează valoarea implicită a acelui tip de date variabile. tranzitoriu cuvântul cheie joacă un rol important pentru a îndeplini constrângerile de securitate. Există diverse exemple din viața reală în care nu dorim să salvăm date private în fișier. O altă utilizare a tranzitoriu cuvântul cheie nu este să serializeze variabila a cărei valoare poate fi calculată/derivată folosind alte obiecte serializate sau sistem, cum ar fi vârsta unei persoane, data curentă etc. Practic, am serializat doar acele câmpuri care reprezintă o stare de instanță după ce serializarea este pe cale să salveze starea unui obiect într-un fișier. Este un obicei bun de folosit tranzitoriu 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 } tranzitoriu și static: Din moment ce static câmpurile nu fac parte din starea obiectului, nu există nicio utilizare/impact al utilizării tranzitoriu cuvânt cheie cu variabile statice. Cu toate acestea, nu există nicio eroare de compilare. tranzitoriu si final: variabilele finale sunt serializate direct după valorile lor, astfel încât nu există nicio utilizare/impact al declararii variabilei finale ca tranzitoriu . 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