Ano ang lumilipas na Keyword sa Java

Ano Ang Lumilipas Na Keyword Sa Java



Sa Java programming, maaaring mayroong pangangailangan para sa programmer na pigilin ang pagsusulat ng ilang mga halaga sa file paminsan-minsan. Halimbawa, ang pag-iwas sa mga halaga na naaayon sa isang partikular na uri ng data alinsunod sa pangangailangan sa pagpapatupad. Sa ganitong mga kaso, ang ' lumilipas ” Ang keyword sa Java ay nakakatulong sa pagtitipid ng oras at iniiwasan ang muling paglalagay ng mga halaga sa dulo ng developer.

Ang blog na ito ay magdedetalye sa paggamit at pagpapatupad ng 'lumilipas' na keyword sa Java.

Ano ang 'lumilipas' na Keyword sa Java?

Ang Java' lumilipas 'Ang keyword ay ginagamit upang maiwasan ang' serialization ”. Kung ang anumang bagay ng isang istraktura ng data ay inilalaan bilang isang lumilipas, nangangahulugan ito na hindi ito isa-serialize. Gumagana ito na kung ang isang partikular na variable ay inilalaan bilang lumilipas, hindi ito maisusulat sa file, at '​ 0 ” ay nakaimbak sa halip.







Syntax



pribado lumilipas < mem var >;

Sa syntax na ito, ' mem var ” ay tumuturo sa variable na inilalaan bilang “ lumilipas ”.



Bago magtungo sa halimbawa, tiyaking isama ang mga sumusunod na aklatan upang gumana sa ' Serializable ” interface at i-access ang lahat ng mga klase at pamamaraan, ayon sa pagkakabanggit:





angkat java.io.Serializable ;

angkat java.io.* ;

Pagpapakita ng 'lumilipas' na Keyword sa Java

Sa sumusunod na halimbawa, ang ' lumilipas ” keyword ay maaaring iugnay sa isang variable na ang naipasa na halaga nito sa object ay hindi maisusulat sa file:

pampubliko klase transientkey nagpapatupad Serializable {

String pangalan ;

String lungsod ;

lumilipas int edad ;

transientkey ( String pangalan, String lungsod, int edad ) {

ito . pangalan = pangalan ;

ito . lungsod = lungsod ;

ito . edad = edad ;

}

Ayon sa mga linya ng code sa itaas, ilapat ang mga hakbang na ibinigay sa ibaba:



  • Una sa lahat, tukuyin ang isang klase na pinangalanang ' transientkey 'na nagpapatupad' Serializable ” para gawing serializable ang class object at payagan ang conversion ng isang object na i-save sa anyo ng isang file.
  • Sa kahulugan ng klase, tukuyin ang mga nakasaad na variable na may ' edad ' itinalaga bilang ' lumilipas ”.
  • Ngayon, lumikha ng isang tagapagbuo ng klase na mayroong nakasaad na mga parameter na magkapareho sa mga tinukoy na variable.
  • Sa kahulugan ng constructor, sumangguni sa mga tinukoy na variable at ilaan sa kanila ang mga halaga ng parameter sa pamamagitan ng ' ito ”.

Ngayon, pangkalahatang-ideya ang ' pangunahing ” snippet ng code:

pampubliko static walang bisa pangunahing ( String args [ ] ) nagtatapon Exception {

transientkey object = bago transientkey ( 'Harry' , 'London' , 22 ) ;

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

ObjectOutputStream objOut = bago ObjectOutputStream ( fileOut ) ;

objOut. writeObject ( bagay ) ;

objOut. flush ( ) ;

objOut. malapit na ( ) ;

fileOut. malapit na ( ) ;

Sistema . palabas . println ( 'Matagumpay na Naimbak ang Data!' ) ;

ObjectInputStream file = bago ObjectInputStream ( bago FileInputStream ( 'defaultfile.txt' ) ) ;

transientkey readData = ( transientkey ) file. readObject ( ) ;

Sistema . palabas . println ( readData. pangalan + '' + readData. lungsod + '' + readData. edad + '' ) ;

file. malapit na ( ) ;

} }

Nasa ' pangunahing ”, isaalang-alang ang mga hakbang na ibinigay sa ibaba:

  • Lumikha ng object ng klase sa pamamagitan ng “ bago 'keyword at ang' transientkey() ” constructor, ayon sa pagkakabanggit, at ipasa ang mga nakasaad na halaga bilang mga argumento ng constructor.
  • Sa susunod na hakbang, lumikha ng ' FileOutputStream ” object upang isulat ang naipasa na data sa tinukoy file .
  • Pagkatapos nito, gayundin, lumikha ng isang ' ObjectOutputStream ” object para magsulat ng mga bagay na mababasa ng “ ObjectInputStream ”.
  • Ngayon, ilapat ang ' writeObject() 'paraan upang isulat ang tinukoy na object ng klase sa ' ObjectOutputStream ”.
  • Upang i-flush at isara ang stream, ilapat ang ' flush() 'at' malapit () ” pamamaraan, ayon sa pagkakabanggit.
  • Upang basahin ang file, lumikha ng ' ObjectInputStream ' object at maipon ang nakasulat na file bilang isang ' FileInputStream ” parameter para kunin ang input bytes mula sa file .
  • Panghuli, basahin ang mga nilalaman ng file sa pamamagitan ng pagtukoy sa nilikha na object ng klase ' transientkey ”.
  • Algorithm: Ang mga halagang ipinasa sa bagay ay isusulat sa file maliban sa halagang inilalaan bilang “ lumilipas ”. Sa pagbabasa ng file, ang lahat ng mga halaga ay kukunin ngunit ang lumilipas na halaga ay ipapakita bilang ' 0 ”.

Buong Code

pampubliko klase transientkey nagpapatupad Serializable {

String pangalan ;

String lungsod ;

lumilipas int edad ;

transientkey ( String pangalan, String lungsod, int edad ) {

ito . pangalan = pangalan ;

ito . lungsod = lungsod ;

ito . edad = edad ;

}

pampubliko static walang bisa pangunahing ( String args [ ] ) nagtatapon Exception {

transientkey object = bago transientkey ( 'Harry' , 'London' , 22 ) ;

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

ObjectOutputStream objOut = bago ObjectOutputStream ( fileOut ) ;

objOut. writeObject ( bagay ) ;

objOut. flush ( ) ;

objOut. malapit na ( ) ;

fileOut. malapit na ( ) ;

Sistema . palabas . println ( 'Matagumpay na Naimbak ang Data!' ) ;

ObjectInputStream file = bago ObjectInputStream ( bago FileInputStream ( 'defaultfile.txt' ) ) ;

transientkey readData = ( transientkey ) file. readObject ( ) ;

Sistema . palabas . println ( readData. pangalan + '' + readData. lungsod + '' + readData. edad + '' ) ;

file. malapit na ( ) ;

} }

Output

Sa kinalabasan sa itaas, maaaring ipahiwatig na dahil ang ' edad ' ay inilalaan bilang ' lumilipas ”, samakatuwid ang halaga nito ay hindi nakasulat sa file at kinukuha nang naaayon i.e., “ 0 ”.

Nagawa ang File

Ang nilikha na file ay ipinapakita sa ibaba:

Iyon ay tungkol sa paggamit ng lumilipas na keyword sa Java.

Konklusyon

Ang Java transient na keyword ay ginagamit upang umiwas sa serialization na kung ang isang partikular na variable ay itinalaga bilang ' lumilipas ”, hindi ito maisusulat sa file, at “​ 0 ” ay nakaimbak sa halip. Tinalakay ng artikulong ito ang paggamit at pagpapatupad ng ' lumilipas ” keyword sa Java.