Dacă aveți vreo experiență anterioară a , atunci s-ar putea să fi observat că intervievatorii tind să pună întrebări dificile, de obicei preluate din conceptele de bază. O astfel de întrebare care se pune în cea mai mare parte este să se facă diferența între final, final și finalizat în . Prin intermediul acestui articol, voi trasa o linie clară între final, final și finalizare în Java, care vă va ajuta să obțineți informații mai bune.
În acest articol voi acoperi următoarele subiecte:
- Cuvânt cheie final
- În cele din urmă Blochează
- Finalizați metoda
- Tabel de comparație - Final, Final și Finalizare în Java
Deci, să începem cu primul cuvânt cheie dintre final, în final și finalizăm în Java.
Cuvânt cheie final
În Java, final este un cuvânt cheie care poate fi folosit și ca modificator de acces. Cu alte cuvinte, cuvântul cheie final este utilizat pentru a restricționa accesul unui utilizator. Poate fi folosit în diverse contexte precum:
Cu fiecare dintre acestea, cuvântul cheie final are un efect diferit. Să vedem acum cum îi afectează pe fiecare dintre ei unul câte unul.
1. Finalizare variabilă
Ori de câte ori cuvântul cheie final din este utilizat cu o variabilă, câmp sau parametru înseamnă că odată ce referința este transmisă sau instanțierea este efectuată, atunci valoarea acesteia nu poate fi modificată pe tot parcursul executării programului. În cazul a fără nicio valoare a fost declarată ca fiind finală, atunci este cunoscută sub numele de variabilă finală necompletată / neinițializată și poate fi inițializată doar printr-un constructor.
Să vedem acum un exemplu.
public class A {int var1 = 123 // declararea variabilelor finale final int var2 = 345 final int var3 // Încercarea inițializării unei variabile finale goale var = 555 // Eroare A () {var1 = 111 // Fără eroare var2 = 333 // Eroare de compilare // Inițializarea unei variabile finale goale var3 = 444 // Fără eroare} // trecerea parametrilor finali void avg (int param1, final int param2) {param1 = 2345 // Fără eroare param2 = 1223 // Eroare de compilare} // declararea câmpurilor finale nule arată () {final int fieldVal = 300000 fieldVal = 400000 // Eroare}}
Deci, aceasta a fost despre modul în care cuvântul cheie final afectează o variabilă, să vedem acum cum este afectată o metodă de aceasta.
2. Metoda finală
În Java, ori de câte ori o metodă este declarată definitivă nu poate fi de către orice clasă de copii pe tot parcursul executării programului.
Să vedem un exemplu.
// METALA FINALĂ clasa A {final void method_abc () {System.out.println („Aceasta este o metodă finală și nu poate fi anulată”)} void method_xyz () {System.out.println („Aceasta este o metodă normală și poate fi suprascris ')}} clasa B extinde A {void method_abc {// Compile Time Error} void method_xyz () {System.out.println (' Aceasta este o metodă suprascrisă în clasa B ')}}
Până acum ați văzut deja rezultatele declarării unei variabile și a unei metode finale, să mergem mai departe și să vedem ce se întâmplă când o clasă este declarată finală în Java.
3. Clasa finală
În Java, ori de câte ori o clasă este declarată finală, nu poate fi . Acest lucru se datorează faptului că, odată ce o clasă este declarată definitivă, toți membrii datelor și metodele conținute în cadrul clasei vor fi implicit declarate finale. De asemenea, odată ce o clasă este declarată definitivă nu mai poate fi declarată abstractă. Cu alte cuvinte, o clasă poate fi una dintre cele două, finală sau abstractă.
Să vedem un exemplu.
// FINAL CLASS final class A {// class body} class B extends A {// Compilation Error // class body}
Sper că acum ați înțeles în mod clar funcționarea cuvântului cheie final. Deci, să trecem acum cu acest articol la final, în final și finalizăm în Java pentru a afla rolul cuvântului cheie în cele din urmă.
În cele din urmă Blochează
În Java, în sfârșit este un bloc opțional care este utilizat pentru . În general, este precedat de un bloc try-catch. În sfârșit, blocul este utilizat pentru a executa un cod important, cum ar fi curățarea resurselor sau pentru a elibera utilizarea memoriei etc. Astfel, împachetarea codurilor de curățare într-un bloc final este considerată o bună practică. De asemenea, îl puteți utiliza cu un bloc de încercare fără a avea nevoie de niciun bloc de captură împreună cu acesta.
Să vedem acum un exemplu.
clasa A {public static void main (String args []) {try {System.out.println ('Try Block') throw new Exception ()} catch (Exception e) {System.out.println ('Catch Block') } în cele din urmă {System.out.println ('În cele din urmă blochează')}}}
Până acum, am discutat deja cuvintele cheie finale și în cele din urmă în Java. Să aruncăm acum o lumină asupra ultimului cuvânt cheie dintre cele trei, adică să finalizăm cuvântul cheie în Java.
Finalizați metoda
Finalize este o metodă nestatică protejată care este definită în clasa Object și, prin urmare, este disponibilă pentru toate obiectele din Java.Această metodă estechemat de către colectorul de gunoi înainte ca un obiect să fie complet distrus.Ca uneori,un s-ar putea să trebuiască să finalizeze unele sarcini importante, cum ar fi închiderea unei conexiuni deschise, eliberarea unei resurse, etc. înainte ca aceasta să fie distrusă. Dacă aceste sarcini nu sunt realizate, ar putea scădea eficiența programului. Astfel,colectorul de gunoi îl numește pentru obiectele care nu mai sunt menționate și care au fost marcate pentru colectarea gunoiului.
Această metodă este declarată protejată pentru a restricționa utilizarea sa din afara clasei. Dar îl puteți suprascrie din cadrul clasei pentru a-i defini proprietățile în momentul colectării gunoiului.
java doar la timp compilator
Să vedem un exemplu similar.
public class A {public void finalize () throws Throwable {System.out.println ('Obiectul este distrus de Garbage Collector')} public static void main (String [] args) {Edureka test = new Edureka () test = null System.gc ()}}
Cu aceasta, ajungem la sfârșitul acestui articol despre final, în final și finalizăm în Java. În concluzie, am adăugat o comparație între toate cele trei cuvinte cheie care vă vor ajuta să obțineți diferențele majore dintr-o privire.
Tabel de comparație - Final vs Final vs Finalize Keywords în Java
Factor | Final | In cele din urma | Finalizează |
Definiție | Final este un cuvânt cheie și este folosit ca modificator de acces în Java | În cele din urmă este un bloc în Java utilizat pentru gestionarea excepțiilor | Finalize este o metodă în Java folosită pentru colectarea deșeurilor |
Cerere | Final în Java este utilizat cu variabile, metode și clase pentru a seta permisiunile de acces | În cele din urmă blocul este utilizat împreună cu un bloc de încercare și captură | Metoda Finalize în Java este utilizată cu obiecte care nu mai sunt utilizate |
Funcţie | Variabila finală în Java este o constantă a cărei valoare nu poate fi modificată odată atribuită. Metoda finală în Java nu poate fi ignorată de clasele sale copil. Clasa finală în Java nu poate fi moștenită de nicio clasă copil. | În cele din urmă blocarea în Java ajută la curățarea resurselor care au fost utilizate în blocul try | Metoda Finalize ajută la curățarea activităților obiectului înainte ca acesta să fie distrus de colectorul de gunoi |
Execuţie | Este executat atunci când este invocat de compilator | Se execută imediat după executarea blocului try-catch | Se execută chiar înainte ca un obiect să fie distrus |
Sper că prin această finală, în sfârșit și finalizare în Java, am reușit să șterg conceptele și te-am ajutat să adaugi valoare cunoștințelor tale.
Dacă ați găsit acest articol despre „Final, Final și Finalize în Java ”Relevant, verificați de Edureka, o companie de învățare online de încredere, cu o rețea de peste 250.000 de elevi mulțumiți răspândiți pe tot globul. Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii a acestui document Final, Final și Finalize în Java și ne vom întoarce la tine.