Diferența dintre final, în final și finalize în Java

Cuprins:

Diferența dintre final, în final și finalize în Java
Diferența dintre final, în final și finalize în Java

Video: Diferența dintre final, în final și finalize în Java

Video: Diferența dintre final, în final și finalize în Java
Video: Difference between final, finally and finalize | final Vs finally Vs finalize 2024, Iulie
Anonim

Diferență cheie – final vs final vs finalize în Java

Final, final și finalize sunt termeni obișnuiți utilizați în programarea Java. Finalul este un cuvânt cheie. Poate fi folosit pentru variabile, metode sau clase. Variabilele declarate ca finale ar trebui inițializate o singură dată. Ele nu pot fi modificate. Deoarece Java este un limbaj care acceptă programarea orientată pe obiecte, acesta permite crearea de clase din clase existente pentru a îmbunătăți reutilizarea codului. Uneori, poate fi necesar să evitați utilizarea claselor existente. Pentru asta se poate folosi finalul. În programare, pot exista erori și este important să le gestionați pentru a executa corect programul. Finalize este o metodă numită de colectorul de gunoi. Deci, toți acești termeni au înțelesuri diferite în consecință. Finalul este un cuvânt cheie care previne schimbarea variabilelor, evită suprascrierea metodei și evită extinderea claselor. În sfârșit este un bloc în gestionarea excepțiilor, care se va executa indiferent dacă o excepție este aruncată sau nu. Finalize este o metodă, apelată de colectorul de gunoi înainte de a distruge complet obiectul. Aceasta este diferența cheie în sfârșit și finalizați în Java.

Ce este finalul în Java?

Finala este un cuvânt cheie în Java. Deoarece Java acceptă programarea orientată pe obiecte, subclasele pot folosi variabilele și metodele unei clase deja existente. Clasa deja existentă este superclasa, în timp ce noua clasă este subclasa. Dacă programatorul dorește să împiedice variabila accesibilă de către alte clase, el poate declara variabila ca „finală”. De exemplu, să presupunem că există o variabilă ca p. Este declarată ca finală și inițializată valoarea 10.de exemplu. final int p=10. Dacă valoarea p este schimbată din nou la 20, va cauza o eroare la timp de compilare. Cuvântul cheie final împiedică modificarea valorii variabilei.

O clasă poate folosi o metodă care se află deja într-o clasă existentă. Să presupunem că există o clasă numită B care are o metodă display(). Noua clasă este C și extinde clasa B. Dacă clasa C are și o metodă numită display(), atunci metoda inițială display() din clasa B este suprascrisă. Dacă programatorul dorește să evite modificarea metodei, atunci el poate folosi cuvântul cheie în cele din urmă. de exemplu. final void display(){ }. Finalizarea unei metode asigură că funcționalitatea metodei nu va fi niciodată modificată.

Diferența dintre final în final și finalize în Java
Diferența dintre final în final și finalize în Java

Figura 01: final, în sfârșit și finalizare

Este de asemenea posibil să se folosească cuvântul cheie final pentru o clasă. Noua clasă nu poate moșteni variabilele și metodele unei clase finale. Acest lucru este util pentru a crește securitatea. Deoarece subclasele împiedică utilizarea clasei, datele sunt protejate.

Ce este în sfârșit în Java?

În programare, pot exista erori. Erorile pot cauza ieșiri incorecte sau pot opri execuția unui program. Este important să folosiți un fel de mecanism pentru a preveni aceste rezultate neașteptate. Erorile pot fi de două tipuri. Sunt erori de timp compilate și erori de rulare. Erorile de timp de compilare apar din cauza erorilor sintactice. Unele erori frecvente de compilare sunt lipsa punctului și virgulă, lipsa acoladelor, identificatorii de ortografie greșită, cuvintele cheie și variabilele nedeclarate. Compilatorul nu va crea fișierul.class până când aceste erori nu vor fi remediate.

Uneori pot exista programe care se compilează corect, dar care oferă rezultate greșite. Ele se numesc erori de rulare. Unele erori comune de rulare sunt scufundarea unui număr întreg cu zero și accesarea unui element care este în afara limitelor unei matrice. Aceste erori nu vor cauza o eroare în timpul compilării, dar rezultatul este incorect. O excepție este o condiție care este cauzată de o eroare de rulare a programului.

Când apare o eroare de rulare, Java creează un obiect excepție și îl aruncă. Dacă obiectul excepție nu este prins corect, acesta va afișa un mesaj de eroare și va închide programul. Dacă programatorul dorește să continue execuția programului cu restul codului, ar trebui să prindă obiectul excepție și să afișeze mesajul necesar pentru acțiunea corectivă. Acest proces este cunoscut ca gestionarea excepțiilor.

În Java, try este folosit pentru codul care este probabil să provoace o eroare și să genereze o excepție. Catch-ul este folosit pentru a gestiona excepția aruncată de blocul try. Pot exista mai multe declarații catch. Instrucțiunile final pot fi folosite pentru a gestiona o excepție care nu este capturată de niciuna dintre instrucțiunile catch anterioare. Blocul final se va executa indiferent dacă este aruncată sau nu o excepție. Consultați exemplul dat.

int p=10, q=5, r=5;

int răspuns;

încercare{

răspuns=p / (q – r);

}

catch (ArithmeticException e){

System.out.println(„Împărțit la zero”);

}

în sfârșit{

System.out.println(„Blocul final este executat”);

}

Conform exemplului de mai sus, valoarea p este împărțită la zero și va provoca o excepție. Prin urmare, este prins de declarația catch. Va imprima mesajul, Împărțit la zero. Blocul final se va executa indiferent dacă a apărut sau nu o excepție. După mesajul Împărțit la zero, se va afișa mesajul din interiorul blocului final. Prin urmare, în sfârșit este un bloc folosit în gestionarea excepțiilor.

Ce este finalizarea în Java?

În POO, obiectele sunt create folosind clase. Metoda constructorului poate inițializa un obiect atunci când este declarat. Procesul este cunoscut sub numele de inițializare. Java are, de asemenea, un concept numit finalizare. Runtime Java este un colector automat de gunoi. Eliberează automat resursele de memorie folosite de obiecte. Colectorul de gunoi apelează această metodă înainte de a distruge obiectul.

Unele obiecte pot conține resurse non-obiect. Un exemplu este un descriptor de fișier. În aceste situații, colectorul de gunoi apelează metoda finalize. de exemplu. finaliza (). Această metodă efectuează procesarea de curățare chiar înainte ca obiectul să fie colectat gunoiul.

Care este asemănarea dintre final în final și finalize în Java?

All final, finally și finalize în Java sunt folosite în programarea Java

Care este diferența dintre final în final și finalizare în Java?

final vs final vs finalize

final Finalul este un cuvânt cheie în Java care împiedică schimbarea variabilelor, evită suprascrierea metodei și evită extinderea claselor.
finally În final este un bloc în gestionarea excepțiilor Java, care se va executa indiferent dacă o excepție este aruncată sau nu.
finalize Finalizarea este o metodă în Java, apelată de colectorul de gunoi înainte de a distruge obiectul complet.
Aplicabilitate
final Finala este aplicabilă pentru variabile, metode și clase.
finally În cele din urmă se aplică cu un blocaj de încercare și prindere.
finalize Finalizarea se aplică pentru obiecte.

Rezumat – final vs final vs finalize în Java

Finalul, finalul și finalizarea sunt termeni obișnuiți utilizați în programarea Java. Cuvintele lor par aceleași, dar au o diferență. Finalul este un cuvânt cheie care împiedică schimbarea variabilelor, evită suprascrierea metodei și evită extinderea claselor. În sfârșit este un bloc în gestionarea excepțiilor, care se va executa indiferent dacă o excepție este aruncată sau nu. Finalize este o metodă, apelată de colectorul de gunoi înainte de a distruge complet obiectul. Aceasta este diferența dintre final, finally și finalize în programarea Java.

Descărcați PDF-ul final vs finally vs finalize în Java

Puteți descărca versiunea PDF a acestui articol și să o utilizați în scopuri offline, conform nota de citare. Vă rugăm să descărcați versiunea PDF de aici: Diferența dintre final în sfârșit și finalizați în Java

Recomandat: