Hva er det forbigående nøkkelordet i Java

Hva Er Det Forbigaende Nokkelordet I Java



I Java-programmering kan det være krav om at programmereren skal avstå fra å skrive visse verdier i filen fra tid til annen. For eksempel å unngå verdiene som tilsvarer en spesifikk datatype i samsvar med utførelseskravet. I slike tilfeller vil ' flyktig ” nøkkelord i Java er til hjelp for å spare tid og unngår omfordeling av verdiene ved utviklerens ende.

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

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

Java ' flyktig ' søkeord brukes for å unngå ' serialisering '. Hvis et objekt i en datastruktur er allokert som en transient, betyr det at det ikke vil bli serialisert. Det fungerer slik at hvis en bestemt variabel er allokert som forbigående, kan den ikke skrives i filen, og ' 0 ” lagres i stedet.







Syntaks



privat flyktig < mem var >;

I denne syntaksen ' mem var ' peker på variabelen tildelt som ' flyktig '.



Før du går til eksemplet, sørg for å inkludere følgende biblioteker for å jobbe med ' Serialiserbar '-grensesnitt og få tilgang til alle klassene og metodene, henholdsvis:





import java.io.Serialiserbar ;

import java.io.* ;

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

I følgende eksempel er ' flyktig ” nøkkelord kan assosieres med en variabel slik at dens beståtte verdi i objektet ikke kan skrives i filen:

offentlig klasse forbigående nøkkel redskaper Serialiserbar {

String Navn ;

String by ;

flyktig int alder ;

forbigående nøkkel ( String Navn, String by, int alder ) {

dette . Navn = Navn ;

dette . by = by ;

dette . alder = alder ;

}

I henhold til kodelinjene ovenfor, bruk trinnene nedenfor:



  • Først av alt, definer en klasse som heter ' forbigående nøkkel 'som implementerer' Serialiserbar ” for å gjøre klasseobjektet serialiserbart og tillate at konvertering av et objekt lagres i form av en fil.
  • I klassedefinisjonen spesifiser de angitte variablene med ' alder ' tildelt som ' flyktig '.
  • Lag nå en klassekonstruktør som har de angitte parameterne identiske med de angitte variablene.
  • I konstruktørdefinisjonen, referer til de spesifiserte variablene og alloker dem parameterverdiene via ' dette '.

Nå, oversikt over ' hoved- ' kodebit:

offentlig statisk tomrom hoved- ( String args [ ] ) kaster Unntak {

transientkey objekt = ny forbigående nøkkel ( 'Harry' , 'London' , 22 ) ;

FileOutputStream fileOut = ny FileOutputStream ( 'defaultfile.txt' ) ;

ObjectOutputStream objOut = ny ObjectOutputStream ( fileOut ) ;

objOut. skriveobjekt ( gjenstand ) ;

objOut. spyle ( ) ;

objOut. Lukk ( ) ;

fileOut. Lukk ( ) ;

System . ute . println ( 'Data lagret vellykket!' ) ;

ObjectInputStream fil = ny ObjectInputStream ( ny FileInputStream ( 'defaultfile.txt' ) ) ;

transientkey readData = ( forbigående nøkkel ) fil. readObject ( ) ;

System . ute . println ( leseData. Navn + ' ' + leseData. by + ' ' + leseData. alder + '' ) ;

fil. Lukk ( ) ;

} }

I « hoved- ', vurder trinnene nedenfor:

  • Lag et klasseobjekt via ' ny ' nøkkelord og ' transientkey() ” konstruktør, henholdsvis og sende de oppgitte verdiene som konstruktørargumenter.
  • I neste trinn oppretter du en ' FileOutputStream ” objekt for å skrive de beståtte dataene til den spesifiserte fil .
  • Etter det oppretter du også en ' ObjectOutputStream ' objekt for å skrive objekter som kan leses av ' ObjectInputStream '.
  • Bruk nå ' skriveobjekt() '-metoden for å skrive det angitte klasseobjektet til ' ObjectOutputStream '.
  • For å skylle og lukke strømmen, bruk ' flush() ' og ' Lukk() ”-metoder, henholdsvis.
  • For å lese filen, lag en ' ObjectInputStream ' objekt og samle den skrevne filen som en ' FileInputStream ”-parameter for å hente inngangsbytene fra fil .
  • Les til slutt innholdet i filen ved å referere til det opprettede klasseobjektet ' forbigående nøkkel '.
  • Algoritme: Verdiene som sendes i objektet vil bli skrevet til filen bortsett fra verdien tildelt som ' flyktig '. Ved lesing av filen vil alle verdiene bli hentet, men den forbigående verdien vil vises som ' 0 '.

Hele koden

offentlig klasse forbigående nøkkel redskaper Serialiserbar {

String Navn ;

String by ;

flyktig int alder ;

forbigående nøkkel ( String Navn, String by, int alder ) {

dette . Navn = Navn ;

dette . by = by ;

dette . alder = alder ;

}

offentlig statisk tomrom hoved- ( String args [ ] ) kaster Unntak {

transientkey objekt = ny forbigående nøkkel ( 'Harry' , 'London' , 22 ) ;

FileOutputStream fileOut = ny FileOutputStream ( 'defaultfile.txt' ) ;

ObjectOutputStream objOut = ny ObjectOutputStream ( fileOut ) ;

objOut. skriveobjekt ( gjenstand ) ;

objOut. spyle ( ) ;

objOut. Lukk ( ) ;

fileOut. Lukk ( ) ;

System . ute . println ( 'Data lagret vellykket!' ) ;

ObjectInputStream fil = ny ObjectInputStream ( ny FileInputStream ( 'defaultfile.txt' ) ) ;

transientkey readData = ( forbigående nøkkel ) fil. readObject ( ) ;

System . ute . println ( leseData. Navn + ' ' + leseData. by + ' ' + leseData. alder + '' ) ;

fil. Lukk ( ) ;

} }

Produksjon

I resultatet ovenfor kan det antydes at siden ' alder ' er tildelt som ' flyktig ', derfor skrives ikke verdien i filen og hentes deretter, dvs. ' 0 '.

Opprettet fil

Den opprettede filen vises nedenfor:

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

Konklusjon

Java transient nøkkelordet brukes til å avstå fra serialisering slik at hvis en bestemt variabel er tilordnet som ' flyktig ', kan det ikke skrives i filen, og '​ 0 ” lagres i stedet. Denne artikkelen diskuterte bruken og implementeringen av ' flyktig ' nøkkelord i Java.