Soovitatav, 2022

Toimetaja Valik

Lõplik, Lõpp ja Lõplik erinevus Java-s

Sõnad „lõplik, lõpuks ja lõplik” on Java kontekstis. Igal neist on teistsugune toimimine. Lõpuks on lõplik ja lõplik lõplik erinevus see, et lõplik on ligipääsu modifikaator, lõpuks plokk ja lõplik on objektiklassi meetod. Lõpuks on lõplikud ja lõpuleviidud veel mõned erinevused, mida arutatakse võrdluskaardil.

Võrdluskaart

Võrdluse alusLõplikLõpuksLõpeta
PõhilineLõplik on "Märksõna" ja "juurdepääsu modifitseerija" Java.Lõpuks on Java "plokk".Lõpetamine on Java-meetod.
KohaldatavLõplik on klasside, muutujate ja meetodite suhtes kohaldatav märksõna.Lõpuks on plokk, mis on alati seotud proovimis- ja püügiplokiga.viimistlemine () on objektide suhtes kohaldatav meetod.
Töötamine(1) Lõplik muutuja muutub konstantseks ja seda ei saa ümber määrata.
(2) Lasteklass ei saa lõplikku meetodit ületada.
(3) Lõppklassi ei saa pikendada.
"Lõpuks" blokeerib "proovige" plokis kasutatud ressursid.Lõpeta meetod puhastab objektiga seotud tegevused enne selle hävitamist.
TäitmineLõplik meetod viiakse ellu selle kutsumisel."Lõpuks" blokeeritakse kohe pärast "proovipüüdmise" ploki täitmist.Lõpeta () meetod teostatakse vahetult enne objekti hävitamist.

Lõpliku mõiste

„Final“ on Java-märksõna. See on juurdepääsu modifitseerija. „Lõplik” märksõna on kohaldatav klasside, meetodite ja muutujate suhtes. Vaatame, kuidas see igaüks neist töötab.

Lõplik muutuja

  • Kui muutujale rakendatakse viimast märksõna, ei saa seda muuta.
  • Lõplik muutuja tuleb vormindada, kui see on deklareeritud.
  • Ühises kodeerimise konventsioonis deklareeritakse lõplikud muutujad UPPERCASE.
  • Lõplik muutuja ei hõivata mälu eksemplari alusel.
 lõplik int FILE_OPEN = 2; 

Lõplikud meetodid

  • Kui klassis kasutatav meetod kuulutatakse lõplikuks, ei saa selle alamklass ületada.
  • Väikseid meetodeid, mis kuulutatakse lõplikuks, saab kompilaator teha inline'iks, mis vähendab funktsiooni helistamist ja suurendab jõudluse parendusi.
  • Kõrvaldatud meetodite üleskutse lahendatakse dünaamiliselt, kuid kui meetod on lõplikuks tunnistatud, ei saa seda ületada. Seega saab funktsiooni helistada lahendamise ajal.
 klass A {lõplik tühine met () {System.out.println ("See on lõplik meetod."); }} klass B laieneb A {void meth () {// Clas B ei saa pärida klassi A. meetodit. System.out.println ("Ei ületa"); }} 

Lõplik klass

  • Kui klass on lõplikuks tunnistatud, siis seda ei saa pärida ükskõik milline alaklass.
  • Klassi lõplikuks kuulutamiseks kuulutatakse automaatselt kõik selle meetodid lõplikuks.
  • Te ei saa klassi kuulutada nii „abstraktseks“ kui „lõplikuks“.
 viimane klass A {// ...} klass B laieneb A {// B-klass ei saa pärandada klass A // ...} 

Lõpuks

  • Java-s on „lõpuks“ plokk, mis on alati seotud proovimisplokiga.
  • "Lõpuks" plokk käivitub pärast proovimisplokki ja enne koodi, mis järgneb proovimis / blokeerimisblokile.
  • "Lõpuks" plokk täidab, kas erand on visatud või mitte.
  • Kui erand on välja visata ja ühtegi püügiplokki ei sobi isegi sel juhul, siis täidetakse lõplikult plokk.
  • Kui meetod naaseb helistaja juurde katse- / püügiploki sisemuse kaudu läbimatu erandi või selgesõnalise tagasipöördumisavalduse kaudu, saab „lõpuks“ plokk käivituma vahetult enne, kui meetod helistajale naaseb.
  • "Lõpuks" plokki kasutatakse ressursside puhastamiseks või "proovige" plokis kasutatava mälu vabastamiseks.
  • Lõpuks on plokk valikuliselt kohustuslik, kuid on hea tava kirjutada lõplikult plokk pärast proovimisplokki.
 klass Lõpuks Näide {// See meetod visistab meetodist välja. static void procA () {try {System.out.println ("sees ProcA"); viska uus RuntimeException ("demo"); } lõpuks {System.out.println ("procA's lõpuks"); }} // Tagasipöördumine prooviblokist. static void procB () {try {System.out.println ("sees procB"); tagasipöördumine; } lõpuks {System.out.println ("procB's lõpuks"); }} // Tavaliselt proovige blokeerida. static void procC () {try {System.out.println ("sees procC"); } lõpuks {System.out.println ("procC's lõpuks"); }} public static void main (String args []) {try {procA (); } catch (erand e) {System.out.println ("püütud erand"); } procB (); procC (); }} // procA procA 's väljund lõpuks Lõpuks on procB procB's sees püütud erand väljapoole procC procC's 

Lõpetamise määratlus

  • Lõpetamine on objektiklassi meetod.
  • Objekt võib omada mõningaid mitte-java ressursse, näiteks faili käepide; siis tuleb see enne hävitamist vabastada.
  • Seda meetodit kasutab prügi koguja enne objekti täielikku hävitamist.
  • See meetod teostab objekti puhastamist enne selle hävitamist.

Meetodi üldine vorm () on järgmine.

 kaitstud void finalize () {// lõpliku koodi siin} 

Lõplik meetod on deklareeritud kui kaitstud, nii et seda ei saa kasutada väljaspool klassi.

Seda meetodit kutsutakse alati enne prügi kogumist.

Lõplikud, Lõpuks ja Lõpeta lõplikud erinevused

  1. Märksõna lõplik on juurdepääsu modifikaator, lõpuks plokk ja viimistlemine on meetod.
  2. Võtmesõna lõplik on klasside klasside, muutujate ja meetodite suhtes kohaldatav, lõpuks on plokk, mis on seotud proovikogumisplokiga, mida kasutatakse erandite käsitlemiseks, viimistlemine on meetod, mis toimib ainult objektidel.
  3. Lõplikuks tunnistatud muutuja muutub konstantseks ja seda ei saa uuesti määrata, lõplikuks tunnistatud meetodit ei saa ümber lükata ja klassi, mis on lõplikult välja kuulutatud, ei saa kunagi pärida. Lõpuks kasutatakse plokki, et puhastada katse- ja püügiploki kasutatavad ressursid. Lõppmeetodit kasutatakse objekti puhastamiseks enne objekti hävitamist.

Järeldus:

Lõplikul, lõplikul ja lõplikul vormistamisel on meetodil erinev mõju.

Top