
Palyginimo diagrama
Palyginimo pagrindas | Galutinis | Pagaliau | Baigti |
---|---|---|---|
Pagrindinis | „Final“ yra „Raktažodis“ ir „prieigos modifikatorius“ „Java“. | Galiausiai yra „blokas“ „Java“. | Baigti yra „metodas“ „Java“. |
Taikoma | Galutinis 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ą. |
Vykdymas | Galutinis 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
- Raktinių žodžių galutinis yra prieigos modifikatorius, pagaliau yra blokas ir užbaigimas yra metodas.
- 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.
- 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.