prechodný je modifikátor premenných používaný v serializácia . Ak v čase serializácie nechceme uložiť hodnotu konkrétnej premennej do súboru, použijeme prechodný kľúčové slovo. Keď narazí JVM prechodný kľúčové slovo ignoruje pôvodnú hodnotu premennej a uloží predvolenú hodnotu tohto dátového typu premennej. prechodný Kľúčové slovo hrá dôležitú úlohu pri dodržiavaní bezpečnostných obmedzení. Existujú rôzne príklady zo skutočného života, keď nechceme ukladať súkromné údaje do súboru. Ďalšie využitie prechodný kľúčové slovo nie je serializovať premennú, ktorej hodnotu možno vypočítať/odvodiť pomocou iných serializovaných objektov alebo systému, ako je vek osoby, aktuálny dátum atď. Prakticky sme serializovali iba tie polia, ktoré predstavujú stav inštancie po tom, čo sa celá serializácia chystá uložiť stav objektu do súboru. Je dobrým zvykom používať prechodný 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 } prechodné a statické: Od r statické polia nie su sucastou stavu objektu nema ziadne vyuzitie/dopad pouzivania prechodný kľúčové slovo so statickými premennými. Nedochádza však k chybe pri kompilácii. prechodné a konečné: finálne premenné sú priamo serializované svojimi hodnotami, takže deklarovanie finálnej premennej ako nemá žiadne použitie/vplyv prechodný . 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