logo

Razlika med finalom, finally in finalize

Final, finally in finalize so ključne besede v Javi, ki se uporabljajo pri obravnavanju izjem. Vsaka od teh ključnih besed ima drugačno funkcijo. Osnovna razlika med finalom, finally in finalize je ta, da dokončno je modifikator dostopa, končno je blok v obravnavanju izjem in dokončati je metoda objektnega razreda.

Poleg tega obstaja veliko razlik med končno, končno in finalizirano. Spodaj je naveden seznam razlik med finalom, finally in finalize:

python je numerični
G. št. Ključ dokončno končno dokončati
1. Opredelitev final je ključna beseda in modifikator dostopa, ki se uporablja za uporabo omejitev za razred, metodo ali spremenljivko. končno je blok v Java Exception Handling za izvajanje pomembne kode, ne glede na to, ali pride do izjeme ali ne. finalize je metoda v Javi, ki se uporablja za izvedbo obdelave čiščenja, tik preden se objekt pobere v smeti.
2. Velja za Končna ključna beseda se uporablja z razredi, metodami in spremenljivkami. Končni blok je vedno povezan z blokom poskusi in ulovi pri obravnavanju izjem. metoda finalize() se uporablja s predmeti.
3. Funkcionalnost (1) Ko je končna spremenljivka deklarirana, postane konstantna in je ni mogoče spreminjati.
(2) končne metode ni mogoče preglasiti s podrazredom.
(3) končnega razreda ni mogoče dedovati.
(1) končni blok zažene pomembno kodo, tudi če pride do izjeme ali ne.
(2) finally block očisti vse vire, uporabljene v poskusnem bloku
metoda finalize izvaja dejavnosti čiščenja v zvezi s predmetom pred njegovim uničenjem.
4. Izvedba Končna metoda se izvede šele, ko jo pokličemo. Končni blok se izvede takoj, ko se izvede poskusni blok.

Njegova izvedba ni odvisna od izjeme.

metoda finalize se izvede tik preden je objekt uničen.

Končni primer Java

Oglejmo si naslednji primer, kjer deklariramo končno spremenljivko starost. Ko je deklarirano, ga ni mogoče spreminjati.

FinalExampleTest.java

 public class FinalExampleTest { //declaring final variable final int age = 18; void display() { // reassigning value to age variable // gives compile time error age = 55; } public static void main(String[] args) { FinalExampleTest obj = new FinalExampleTest(); // gives compile time error obj.display(); } } 

Izhod:

Razlika med finalom, finally in finalize

V zgornjem primeru smo razglasili spremenljivko final. Podobno lahko metode in razrede razglasimo za končne s ključno besedo final.

Java končno Primer

Oglejmo si spodnji primer, kjer koda Java vrže izjemo in blok catch obravnava to izjemo. Kasneje se blok finally izvede za blokom try-catch. Poleg tega se preostala koda izvaja normalno.

FinallyExample.java

 public class FinallyExample { public static void main(String args[]){ try { System.out.println('Inside try block'); // below code throws divide by zero exception int data=25/0; System.out.println(data); } // handles the Arithmetic Exception / Divide by zero exception catch (ArithmeticException e){ System.out.println('Exception handled'); System.out.println(e); } // executes regardless of exception occurred or not finally { System.out.println('finally block is always executed'); } System.out.println('rest of the code...'); } } 

Izhod:

kako združiti nize v Javi
Razlika med finalom, finally in finalize

Primer dokončanja Java

FinalizeExample.java

 public class FinalizeExample { public static void main(String[] args) { FinalizeExample obj = new FinalizeExample(); // printing the hashcode System.out.println('Hashcode is: ' + obj.hashCode()); obj = null; // calling the garbage collector using gc() System.gc(); System.out.println('End of the garbage collection'); } // defining the finalize method protected void finalize() { System.out.println('Called the finalize() method'); } } 

Izhod:

Razlika med finalom, finally in finalize