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:
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
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: