Ieteicams, 2024

Redaktora Izvēle

Starpība starp finālu, beidzot un pabeigt Java

Vārdi “galīgais, beidzot un pabeigt” atrodas Java kontekstā. Katram no tiem tiek nodrošināta atšķirīga darbība. Galvenā atšķirība starp galīgo, beidzot un galīgo variantu ir tā, ka galīgais ir piekļuves modifikators, visbeidzot, ir bloks un pabeigt ir objekta klases metode. Ir dažas citas atšķirības starp gala variantu, beidzot un pabeigšanu, kas ir aplūkotas salīdzināšanas tabulā.

Salīdzinājuma diagramma

Salīdzinājuma pamatsGalīgaisVisbeidzotPabeigt
PamataFināls ir "Atslēgvārds" un "piekļuves modifikators" Java.Visbeidzot ir Java bloks.Pabeigt ir "metode" Java.
PiemērojamsFināls ir atslēgvārds, ko piemēro klasēm, mainīgajiem lielumiem un metodēm.Visbeidzot, tas ir bloks, kas vienmēr ir saistīts ar izmēģinājuma un nozvejas bloku.pabeigt () ir metode, kas piemērojama objektiem.
Darbs(1) Galīgais mainīgais kļūst nemainīgs, un to nevar pārdalīt.
(2) Bērnu klase nevar beigt galīgo metodi.
(3) Galīgo klasi nevar pagarināt.
"Visbeidzot" bloks attīra resursus, kas izmantoti "izmēģinājuma" blokā.Pabeigt metodi veic darbības, kas saistītas ar objektu, pirms tās iznīcināšanas.
IzpildeGalīgā metode tiek izpildīta pēc tā izsaukuma."Visbeidzot" bloks tiek izpildīts tieši pēc "mēģinājuma nozvejas" bloka izpildes.pabeigt () metodi izpilda tieši pirms objekta iznīcināšanas.

Fināla definīcija

“Final” ir atslēgvārds Java. Tas ir piekļuves modifikators. “Galīgais” atslēgvārds ir piemērojams klasēm, metodēm un mainīgajiem. Ļaujiet mums redzēt, kā tas darbojas ar katru no tiem.

Galīgais mainīgais

  • Kad mainīgajam tiek piemērots pēdējais atslēgvārds, to nevar mainīt.
  • Galīgais mainīgais ir jāsāk inicializēt, kad tas ir deklarēts.
  • Kopējā kodēšanas konvencijā galīgie mainīgie tiek deklarēti UPPERCASE.
  • Galīgais mainīgais neaizņem atmiņu uz vienu gadījumu.
 pēdējais int FILE_OPEN = 2; 

Galīgās metodes

  • Ja metode klasē tiek pasludināta par galīgu, to nevar aizstāt ar tās apakšklasi.
  • Mazās metodes, kas tiek pasludinātas par galīgajām, kompilators var padarīt “inline”, kas samazinās funkciju izsaukumu un palielinās veiktspējas uzlabojumus.
  • Pārslēgtās metodes izsauc, tiek atrisinātas dinamiski, bet, ja metode tiek pasludināta par galīgu, to nevar ignorēt. Tādējādi funkciju izsaukšana var tikt atrisināta kompilēšanas laikā.
 A klases {final void meth () {System.out.println ("Šī ir galīgā metode."); }} B klase paplašina A {void meth () {// Clas B nevar mantot A klases metodi. System.out.println ("Vai nav ignorēts"); }} 

Galīgā klase

  • Ja klase ir pasludināta par galīgu, tad to nevar pārmest neviena apakšklase.
  • Klases atzīšana par finālu automātiski paziņos visas tās metodes galīgajām.
  • Jūs nevarat pasludināt klasi kā „abstraktu” un “galīgu”.
 galīgā klase A {// ...} B klase paplašinās A {// B klase nevar mantot A / ... klasi 

Noslēguma definīcija

  • Java „beidzot” ir bloks, kas vienmēr ir saistīts ar mēģinājumu / nozvejas bloku.
  • "Visbeidzot" bloks tiek izpildīts pēc mēģinājuma / nozvejas bloka un pirms koda, kas seko mēģinājuma / nozvejas blokam.
  • „Visbeidzot” bloks izpildīs, vai izņēmums tiek izmests vai nē.
  • Kad izspiež izņēmumu, un neviens nozvejas bloks nesakrīt ar izņēmumu pat tad, "beidzot" tiek izpildīts.
  • Ja metode atgriežas pie zvanītāja no mēģinājuma / nozvejas bloka iekšienes, izmantojot neparedzētu izņēmumu vai skaidru atgriešanās paziņojumu, “beidzot” bloks tiek izpildīts tieši pirms metodes atgriešanās zvanītājam.
  • “Visbeidzot” bloku izmanto, lai attīrītu resursus vai atbrīvotu atmiņā izmantoto bloku.
  • „Visbeidzot” bloks nav obligāts, bet labas prakses piemērs ir beidzot ierakstīt bloku pēc mēģinājuma / nozvejas bloka.
 class EndExample {// Šī metode izslēdz izņēmumu no metodes. static void procA () {try {System.out.println ("iekšpusē procA"); mest jaunu RuntimeException ("demo"); } beidzot {System.out.println ("procA's beidzot"); }} // Atgriezties no mēģinājuma bloka. static void procB () {try {System.out.println ("iekšpusē procB"); atgriešanās; } beidzot {System.out.println ("procB's beidzot"); }} // Izpildiet mēģinājuma bloku normāli. static void procC () {try {System.out.println ("iekšpusē procC"); } beidzot {System.out.println ("procC's beidzot"); }} publiskās statiskās tukšuma galvenās (String args []) {try {procA (); } catch (Izņēmums e) {System.out.println ("Izņēmums nozvejotas"); } procB (); procC (); }} // produkts iekš procA procA's beidzot Izņēmums, kas nozvejotas procB procB ir beidzot iekšā procC procC's beidzot 

Noslēguma definīcija

  • Pabeigšana ir metode objekta klasē.
  • Objekts var turēt dažus ne-java resursus, piemēram, failu rokturi; tad tas ir jāatbrīvo, pirms tas tiek iznīcināts.
  • Šo metodi izmanto atkritumu savācējs, pirms tas pilnībā iznīcina objektu.
  • Šī metode veic objekta tīrīšanas darbības pirms tā iznīcināšanas.

Metodes vispārējā forma ir pabeigta ().

 aizsargāta spēkā neesamība pabeigt () {// pabeigšanas kodu šeit} 

Noslēguma metode tiek pasludināta par aizsargātu, lai to nevarētu piekļūt ārpus klases.

Šī metode vienmēr tiek saukta pirms atkritumu savākšanas.

Galvenās atšķirības starp galīgo, beidzot un pabeigt

  1. Atslēgvārdu fināls ir piekļuves modifikators, visbeidzot, ir bloks un pabeigšana ir metode.
  2. Atslēgvārdu fināls ir piemērojams klases klasēm, mainīgajiem un metodēm, visbeidzot, ir bloks, kas saistīts ar izmēģinājuma bloka bloku, kas tiek izmantots izņēmumu apstrādei, pabeigšana ir metode, kas darbojas tikai uz objektiem.
  3. Mainīgais, kad tas ir pasludināts par galīgu, kļūst nemainīgs un nevar tikt atkārtoti piešķirts, metodi, kas pasludināta par galīgo, nevar ignorēt, un klasi, kas pasludināta par galīgo, nekad nevar mantot. Visbeidzot, bloku izmanto, lai attīrītu izmēģinājuma un nozvejas bloka resursus. Pabeigtā metode tiek izmantota, lai attīrītu objektu izmantotos resursus pirms objekta iznīcināšanas.

Secinājums:

Galīgajam, beidzot un beidzot, ir atšķirīga ietekme, ja to piemēro metodei.

Top