Hva er det forbigående nøkkelordet i Java

Hva er det forbigående nøkkelordet i Java
I Java -programmering kan det være et krav for programmereren å avstå fra å skrive visse verdier i filen fra tid til annen. For eksempel å unngå verdiene som tilsvarer en spesifikk datatype i samsvar med utførelsesbehovet. I slike tilfeller "flyktig”Søkeord i Java er hjelpende i å spare tid og unngår omfordeling av verdiene ved utviklerens slutt.

Denne bloggen vil utdype bruken og implementeringen av det "forbigående" nøkkelordet i Java.

Hva er det "forbigående" nøkkelordet i Java?

Java “flyktig”Nøkkelord brukes for å unngå“Serialisering”. Hvis noe objekt av en datastruktur blir tildelt som en forbigående, betyr det at den ikke vil bli serialisert. Det fungerer slik at hvis en bestemt variabel er tildelt som forbigående, kan den ikke skrives i filen, og " 0”Lagres i stedet.

Syntaks

privat forbigående ;

I denne syntaksen, “Mem var”Peker på variabelen som er tildelt som“flyktig”.

Før du drar til eksemplet, må du huske å inkludere følgende biblioteker for å jobbe med "Serialiserbar”Grensesnitt og få tilgang til henholdsvis alle klasser og metoder:

Importer Java.io.Serialiserbar;
Importer Java.io.*;

Demonstrasjon av det "forbigående" nøkkelordet i Java

I det følgende eksemplet "flyktig”Søkeord kan være tilknyttet en variabel slik at dens beståtte verdi i objektet ikke kan skrives i filen:

offentlig klasse TransientKey implementerer serialiserbar
Strengnavn;
Streng by;
forbigående int -alder;
transientKey (strengnavn, streng by, int alder)
dette.Navn = navn;
dette.by = by;
dette.alder = alder;

I henhold til de ovennevnte kodelinjene, bruk trinnene under levert:

  • Først av alt, definere en klasse som heter “forbigående”Det implementerer”Serialiserbar”For å gjøre klasseobjektet serialiserbart og la konvertering av et objekt lagres i form av en fil.
  • I klassedefinisjonen, spesifiser de uttalte variablene med "alder”Tildelt som“flyktig”.
  • Lag nå en klassekonstruktør som har de uttalte parametrene identiske med de spesifiserte variablene.
  • I konstruktørdefinisjonen, se de spesifiserte variablene og tildel dem parameterverdiene via “dette”.

Nå, oversikt over "hoved-”Kodebit:

offentlig statisk tomrom Main (String Args []) kaster unntak
transientKey -objekt = ny TransientKey ("Harry", "London", 22);
FileOutputStream Fileout = Ny FileOutputStream ("DefaultFile.tekst");
ObjectOutputStream objout = new ObjectOutputStream (fileout);
objout.WritObject (objekt);
objout.Flush ();
objout.Lukk();
Fileout.Lukk();
System.ute.Println ("Data lagret vellykket!");
ObjectInputStream File = New ObjectInputStream (Ny FileInputStream ("DefaultFile.tekst"));
TransientKey ReadData = (TransientKey) -fil.ReadObject ();
System.ute.Println (ReadData.Navn+""+ReadData.City+""+readdata.alder+"");
fil.Lukk();

I “hoved-”, Tenk på trinnene under levert:

  • Lag et klasseobjekt via “ny”Nøkkelord og“TransientKey ()Henholdsvis konstruktør, og passerer de uttalte verdiene som konstruktørargumenter.
  • I neste trinn kan du lage en "FileOutputStream”Objekt for å skrive de sendte dataene til den spesifiserte filen.
  • Etter det, på samme måte, lage en “ObjectOutputStream”Objekt for å skrive objekter som kan leses av“ObjectInputStream”.
  • Nå, bruk “WritObject ()”Metode for å skrive det spesifiserte klasseobjektet til“ObjectOutputStream”.
  • For å skylle og lukke strømmen, bruk "Flush ()”Og“Lukk()”Metoder, henholdsvis.
  • For å lese filen, opprette en “ObjectInputStream”Objekt og akkumulere den skriftlige filen som en“FileInputStream”Parameter for å hente inngangsbyte fra filen.
  • Til slutt kan du lese innholdet i filen ved å referere til det opprettede klasseobjektet "forbigående”.
  • Algoritme: Verdiene som er gitt i objektet vil bli skrevet til filen bortsett fra verdien som er tildelt som "flyktig”. Når du leser filen, vil alle verdiene bli hentet, men den forbigående verdien vises som "0”.

Hele koden

offentlig klasse TransientKey implementerer serialiserbar
Strengnavn;
Streng by;
forbigående int -alder;
transientKey (strengnavn, streng by, int alder)
dette.Navn = navn;
dette.by = by;
dette.alder = alder;

offentlig statisk tomrom Main (String Args []) kaster unntak
transientKey -objekt = ny TransientKey ("Harry", "London", 22);
FileOutputStream Fileout = Ny FileOutputStream ("DefaultFile.tekst");
ObjectOutputStream objout = new ObjectOutputStream (fileout);
objout.WritObject (objekt);
objout.Flush ();
objout.Lukk();
Fileout.Lukk();
System.ute.Println ("Data lagret vellykket!");
ObjectInputStream File = New ObjectInputStream (Ny FileInputStream ("DefaultFile.tekst"));
TransientKey ReadData = (TransientKey) -fil.ReadObject ();
System.ute.Println (ReadData.Navn+""+ReadData.City+""+readdata.alder+"");
fil.Lukk();

Produksjon

I ovennevnte utfall kan det antydes at siden "alder”Tildeles som“flyktig”, Derfor er verdien ikke skrevet i filen og hentet deretter jeg.e., “0”.

Opprettet fil

Den opprettede filen vises nedenfor:

Det handlet om bruken av det forbigående nøkkelordet i Java.

Konklusjon

Det forbigående nøkkelordet for Java brukes til å avstå fra serialisering slik at hvis en bestemt variabel blir tildelt som "flyktig”, Det kan ikke skrives i filen, og“ 0”Lagres i stedet. Denne artikkelen diskuterte bruken og implementeringen av “flyktig”Søkeord i Java.