"Hei, Amigo! Jeg vil gjerne fortelle deg en liten detalj til om serialisering."

Anta at klassen vår inneholder en referanse til noe InputStream . Da kan det ikke serialiseres, ikke sant?

"Riktig. Du sa selv at strømmer ikke kan serialiseres. Og du kan ikke serialisere et objekt som har ikke-serialiserbare data."

"Riktig. Bare så. Men hva om klassen lagrer data som ikke spiller en vesentlig rolle i dens tilstand og likevel forhindrer klassen fra å bli ansett som en serialiserbar klasse? Bryr deg ikke om at en klasse kan lagre unødvendige ting. Den kan kaste dette data når som helst, og kanskje det til og med gjør det – hele tiden."

For disse tilfellene kom Javas skapere opp med det forbigående nøkkelordet. Hvis vi skriver dette nøkkelordet før en medlemsvariabel, vil det bli ignorert under serialisering. Dens tilstand vil ikke bli reddet eller rekonstruert. Som om det ikke eksisterte. Dette er bare tingen for situasjonene vi nettopp vurderte.

Husker du caching og den flyktige modifikatoren? Det er ingen regler uten unntak .

Her er et slikt eksempel på denne lykken:

Et «katt»-eksempel med en variabel som er usynlig for serialisering:

Kode
class Cat implements Serializable
{
 public String name;
 public int age;
 public int weight;

 transient public InputStream in = System.in; 
}