transitoire est un modificateur de variables utilisé dans sérialisation . Au moment de la sérialisation, si nous ne voulons pas enregistrer la valeur d'une variable particulière dans un fichier, nous utilisons transitoire mot-clé. Quand JVM apparaît transitoire mot-clé, il ignore la valeur d'origine de la variable et enregistre la valeur par défaut de ce type de données variable. transitoire Le mot-clé joue un rôle important pour répondre aux contraintes de sécurité. Il existe divers exemples concrets dans lesquels nous ne souhaitons pas enregistrer de données privées dans un fichier. Une autre utilisation de transitoire Le mot-clé n'est pas de sérialiser la variable dont la valeur peut être calculée/dérivée à l'aide d'autres objets ou systèmes sérialisés tels que l'âge d'une personne, la date actuelle, etc. En pratique, nous n'avons sérialisé que les champs qui représentent un état d'instance après que toute la sérialisation soit sur le point de sauvegarder l'état d'un objet dans un fichier. C'est une bonne habitude à utiliser transitoire 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 } transitoire et statique : Depuis statique les champs ne font pas partie de l'état de l'objet, il n'y a aucune utilisation/impact de l'utilisation transitoire mot-clé avec des variables statiques. Il n'y a cependant aucune erreur de compilation. transitoire et final : les variables finales sont directement sérialisées par leurs valeurs, il n'y a donc aucune utilité/impact de déclarer la variable finale comme transitoire . 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