Skirtumas tarp „Java“ programos „Final“, „Final“ ir „Finalize“

Autorius: Laura McKinney
Kūrybos Data: 2 Balandis 2021
Atnaujinimo Data: 14 Gegužė 2024
Anonim
Skirtumas tarp „Java“ programos „Final“, „Final“ ir „Finalize“ - Technologija
Skirtumas tarp „Java“ programos „Final“, „Final“ ir „Finalize“ - Technologija

Turinys


Žodžiai „galutinai ir galutinai“ užbaigiami „Java“. Kiekvienas iš jų turi skirtingą veikimą. Pagrindinis skirtumas tarp galutinio ir galutinio yra tas galutinis yra prieigos modifikatorius, pagaliau yra blokas ir baigti yra objektų klasės metodas. Yra keletas kitų skirtumų tarp galutinio ir galutinio, kurie aptariami palyginimo diagramoje.

  1. Palyginimo diagrama
  2. Apibrėžimas
  3. Pagrindiniai skirtumai
  4. Išvada

Palyginimo diagrama

Palyginimo pagrindasFinalasPagaliauBaigti
Pagrindinis„Final“ yra „Raktažodžiai“ ir „prieigos modifikatoriai“ „Java“.Galiausiai yra „blokas“ „Java“.Baigti yra „metodas“ „Java“.
TaikomaFinalas yra raktinis žodis, taikomas klasėms, kintamiesiems ir metodams.Galiausiai yra blokas, kuris visada susijęs su bandymo ir gavimo bloku.baigti () yra objektams taikomas metodas.
Dirba(1) Galutinis kintamasis tampa pastovus ir jo negalima priskirti kitam.
(2) Vaikų klasė negali pakeisti galutinio metodo.
(3) Galutinė klasė negali būti pratęsta.
„Pagaliau“ blokas, išvalykite bloke „pabandykite“ panaudotus išteklius.Baigimo metodas atlieka valymo veiksmus, susijusius su objektu prieš jo sunaikinimą.
VykdymasGalutinis metodas vykdomas jam pareikalavus.„Pagaliau“ blokas vykdomas iškart po „pabandykite pagauti“ bloko vykdymo.finalize () metodas vykdomas prieš pat objekto sunaikinimą.


Galutinio apibrėžimas

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

Galutinis kintamasis

  • Kai kintamajam pritaikomas galutinis raktinis žodis, jo daugiau modifikuoti negalima.
  • Galutinis kintamasis turi būti inicijuotas, kai jis deklaruojamas.
  • Taikant įprastą kodavimo tvarką, galutiniai kintamieji deklaruojami didžiosiomis raidėmis.
  • Galutinis kintamasis neužima atminties kiekvienu egzemplioriumi.

galutinis int FILE_OPEN = 2;

Galutiniai metodai

  • Kai klasės metodas yra paskelbtas galutiniu, jo poklasis negali būti pakeistas.
  • Mažus metodus, kurie yra paskelbti galutiniais, kompiliatorius gali padaryti „tinkle“, nes tai sumažins funkcijų iškvietimą ir padidins efektyvumą.
  • Nepaisomi metodai reikalauja, yra išsprendžiami dinamiškai, tačiau kai metodas paskelbiamas galutiniu, jo negalima atmesti. Taigi funkcijų iškvietimą galima išspręsti sudarymo metu.

A klasė {final void meth () {System.out.ln ("Tai yra galutinis metodas."); }} B klasė pratęsia A {void meth () {// Clas B negali paveldėti A klasės metodo. System.out.ln ("Nepaiso"); }}

Baigiamoji klasė

  • Kai klasė paskelbiama galutine, tada jos negali paveldėti nė vienas poklasis.
  • Paskelbus klasę galutine, visi jos metodai bus automatiškai paskelbti galutiniais.
  • Jūs negalite paskelbti klasės kaip „abstrakčios“ ir „galutinės“.

galutinė A klasė {// ...} B klasė tęsiasi A {// B klasė negali paveldėti A klasės ... ...}

  • „Java“ „pagaliau“ yra blokas, visada susietas su bandymo / gavimo bloku.
  • „Pagaliau“ blokas vykdomas po bandymo / gavimo bloko ir prieš kodą, einantį po bandymo / pagavimo bloko.
  • „Pagaliau“ blokas vykdys, ar išimtis išmesta, ar ne.
  • Kai išmesta išimtis ir nė vienas sugavimo blokas neatitinka išimties, net ir tada, blokas „pagaliau“ vykdomas.
  • Kai metodas grįžta į skambinantįjį iš bandymo / sugavimo bloko, naudojant nenugalėtą išimtį arba aiškų grąžinimo pareiškimą, „pagaliau“ blokas įvykdomas prieš pat metodą grįžtant skambinančiajam.
  • „Pagaliau“ blokas naudojamas išvalyti išteklius arba atlaisvinti atmintį, naudojamą „pabandykite“ bloke.
  • „Pagaliau“ blokas yra neprivalomas, tačiau gera praktika yra rašyti pagaliau bloką po bandymo / pagavimo bloko.

klasė „FinalExample“ {// Šis metodas išmeta metodo išimtį. statinis negalioja procA () {pabandykite {System.out.ln ("procA vidus"); mesti naują „RuntimeException“ („demo“); } pagaliau {System.out.ln ("procAs pagaliau"); }} // Grįžkite iš bandymo bloko. statinė negaliojanti procB () {pabandykite {System.out.ln ("procB viduje"); grįžti; } pagaliau {System.out.ln ("procBs pagaliau"); }} // Įprastai atlikite bandymo bloką. statinis negaliojantis procC () {pabandykite {System.out.ln ("procC viduje"); } pagaliau {System.out.ln ("procCs pagaliau"); }} public static void main (Styginių argos) {pabandykite {procA (); } pagauti (Išimtis e) {System.out.ln ("Išimtis pagauta"); } procB (); procC (); }} // išėjimas procA procA galutinai Išimtis, pagauta procB procB procB galiausiai procC procC viduje

Apibūdinimas

  • Baigti yra metodas objektų klasėje.
  • Objekte gali būti ne „Java“ išteklių, tokių kaip failų tvarkyklė; tada jis turi būti išlaisvintas prieš sunaikinant.
  • Šiuo metodu šiukšlių surinkėjas naudojasi prieš visiškai sunaikindamas daiktą.
  • Šis metodas atlieka objekto valymo veiksmus prieš jį sunaikinant.

Bendroji metodo „finalize“ () forma yra tokia.


apsaugota negaliojanti baigti () {// baigimo kodas čia}

Baigimo būdas yra deklaruojamas kaip apsaugotas, kad jo nebūtų galima pasiekti iš klasės.

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

  1. Raktinis žodis yra prieigos modifikatorius, galiausiai yra blokas, o baigti - metodas.
  2. Raktinis žodis galutinis yra taikomas klasėms, kintamiesiems ir klasių metodams, galiausiai yra blokas, susietas su bandymo sugauti bloku, kuris naudojamas tvarkyti išimtis, užbaigti yra metodas, kuris veikia tik su objektais.
  3. Kintamasis, paskelbtas galutiniu, tampa pastovus ir jo nebegalima priskirti iš naujo. Metodas, paskelbtas galutiniu, negali būti panaikintas, o klasė, paskelbta galutine, niekada negali būti paveldima. Galutinis blokas yra naudojamas norint išvalyti išteklius, kuriuos naudoja bandymo ir gavimo blokas. Baigimo metodas naudojamas objekto naudojamiems ištekliams išvalyti prieš sunaikinant objektą.

Išvada:

Galutinis, galutinis ir galutinis variantai, naudojant metodą, turi skirtingą poveikį.