Rekomenduojama, 2024

Redaktoriaus Pasirinkimas

Skirtumas tarp galutinio, galutinio ir galutinio „Java“

Žodžiai „galutinis, galiausiai ir baigti“ yra „Java“ kontekste. Kiekvienam iš jų yra kitoks veikimas. Pagrindinis skirtumas tarp galutinis ir galutinis yra tas, kad galutinis yra prieigos modifikatorius, galiausiai yra blokas ir baigiamasis yra objekto klasės metodas. Galiausiai yra galimi skirtumai tarp galutinio ir galutinio, kurie aptariami palyginimo lentelėje.

Palyginimo diagrama

Palyginimo pagrindasGalutinisPagaliauBaigti
Pagrindinis„Final“ yra „Raktažodis“ ir „prieigos modifikatorius“ „Java“.Galiausiai yra „blokas“ „Java“.Baigti yra „metodas“ „Java“.
TaikomaGalutinis yra raktinis žodis, taikomas klasėms, kintamiesiems ir metodams.Galiausiai yra blokas, kuris visada yra susijęs su bandymo ir sugavimo bloku.baigti () yra objektams taikomas metodas.
Darbas(1) Galutinis kintamasis tampa pastovus ir negali būti perduotas.
(2) Vaikų klasė negali baigti galutinio metodo.
(3) Galutinė klasė negali būti pratęsta.
„Galiausiai“ blokas išvalo „bandymo“ bloke naudojamus išteklius.Baigti metodas atlieka su objektu susijusią veiklą prieš jos sunaikinimą.
VykdymasGalutinis metodas vykdomas, kai jis kviečiamas.„Galiausiai“ blokavimas atliekamas iškart po „bandymo sugavimo“ bloko vykdymo.užbaigti () metodą atlieka prieš pat objekto sunaikinimą.

Galutinės sąvokos apibrėžimas

„Final“ yra raktinis žodis „Java“. Tai prieigos modifikatorius. „Galutinis“ raktinis žodis taikomas klasėms, metodams ir kintamiesiems. Pažiūrėkime, kaip jis veikia su kiekvienu iš jų.

Galutinis kintamasis

  • Kai kintamajam taikomas galutinis raktinis žodis, jo negalima modifikuoti.
  • Galutinis kintamasis turi būti inicijuotas, kai jis yra paskelbtas.
  • Bendroje kodavimo konvencijoje galutiniai kintamieji deklaruojami UPPERCASE.
  • Galutinis kintamasis neužima atminties pagal egzempliorių.
 galutinis int FILE_OPEN = 2; 

Galutiniai metodai

  • Kai metodas klasėje yra paskelbtas galutiniu, jo poklasis negali būti viršesnis.
  • Mažus metodus, kurie paskelbti galutiniais, kompiliatorius gali padaryti „inline“, o tai sumažina funkcijų iškvietimą ir padidina našumą.
  • Neišvardyti metodai skamba, jie išsprendžiami dinamiškai, bet kai metodas paskelbiamas galutiniu, jo negalima pakeisti. Taigi, funkciją skambinant galima išspręsti kompiliavimo metu.
 A klasės {final void meth () {System.out.println ("Tai galutinis metodas."); }} B klasė praplečia A {void meth () {// Clas B negali paveldėti A klasės metodo. System.out.println („Nepaiso“); }} 

Galutinė klasė

  • Kai klasė yra paskelbta galutine, tada ji negali būti paveldima jokiu poklasiu.
  • Klasės paskelbimas galutiniu automatiškai paskelbs visus jo metodus.
  • Jūs negalite deklaruoti klasės kaip abstrakčios ir galutinės.
 galutinė A klasė {// ...} B klasė praplečia A {// B klasė negali paveldėti A / ... klasės 

Galiausiai apibrėžimas

  • „Java“ „pagaliau“ yra blokas, kuris visada yra susijęs su bandymo / sugavimo bloku.
  • „Galiausiai“ blokas atliekamas po bandymo / sugavimo bloko ir prieš kodą po bandymo / sugavimo bloko.
  • „Galiausiai“ blokas vykdys, ar išimtis yra išmesta, ar ne.
  • Kai išimtis yra išimta ir nė vienas sugavimo blokas neatitinka išimties, tuomet „galutinai“ blokas vykdomas.
  • Kai metodas grįžta į skambintoją iš bandymo / sugavimo bloko viduje per nepažymėtą išimtį ar aiškų grąžinimo pareiškimą, „galutinai“ blokas bus įvykdytas prieš pat tada, kai metodas grįš skambintojui.
  • „Galiausiai“ blokas naudojamas išvalyti išteklius arba atlaisvinti atmintį, naudojamą „bandyti“ bloke.
  • „Galiausiai“ blokas yra neprivalomas, tačiau gerą praktiką, kai po bandymo / sugavimo bloko rašykite galutinai bloką.
 class FinalExample {// Šis metodas išmeta išimtį iš metodo. statinis void procA () {try {System.out.println ("viduje procA"); mesti naują „RuntimeException“ („demo“); } pagaliau {System.out.println („procA's pagaliau“); }} // Grįžti iš bandomojo bloko. static void procB () {try {System.out.println ("viduje procB"); sugrįžimas; } pagaliau {System.out.println („procB's pagaliau“); }} // Paprastai vykdykite bandomąjį bloką. statinis void procC () {try {System.out.println ("viduje procC"); } pagaliau {System.out.println („procC's pagaliau“); }} public static void main (String args []) {try {procA (); } catch (Išimtis e) {System.out.println („Išimtis sužvejota“); } procB (); procC (); }} // išvestis procA procA's pagaliau Išimtis, užfiksuota procB procB's, pagaliau yra procC procC's 

Baigimo apibrėžimas

  • Baigti yra objektų klasės metodas.
  • Objektas gali turėti kai kuriuos ne java išteklius, pvz., Failų tvarkyklę; tada jis turi būti išlaisvintas prieš jį sunaikinant.
  • Šį metodą naudoja šiukšlių surinkėjas, kol jis visiškai sunaikina objektą.
  • Šis metodas atlieka objekto valymo veiklą prieš ją sunaikinant.

Bendra metodo forma baigiama () yra tokia.

 apsaugotas void finalize () {// užbaigimo kodas čia} 

Baigiamasis metodas yra paskelbtas saugomu, kad jis nebūtų prieinamas iš klasės ribų.

Šis metodas visada vadinamas prieš šiukšlių surinkimą.

Pagrindiniai skirtumai tarp galutinio, galutinio ir baigiamojo

  1. Raktinių žodžių galutinis yra prieigos modifikatorius, pagaliau yra blokas ir užbaigimas yra metodas.
  2. Raktinių žodžių galutinis yra taikomas klasių klasėms, kintamiesiems ir metodams, pagaliau yra blokas, susijęs su bandomojo sugavimo bloku, kuris naudojamas tvarkyti išimtis, užbaigti yra metodas, kuris veikia tik objektuose.
  3. Kintamasis, paskelbtas galutinis, tampa pastovus ir negali būti vėl paskirtas, metodas, paskelbtas galutiniu, negali būti ignoruojamas, o klasė, paskelbta galutine, niekada negali būti paveldima. Galiausiai blokas naudojamas išvalyti išbandytus ir sugavimo blokus. Baigiamasis metodas naudojamas išvalyti išteklius, kuriuos objektas naudoja prieš sunaikinant objektą.

Išvada:

Galutinis, galiausiai ir baigiantis, turi skirtingą poveikį, kai taikomas metodui.

Top