Az utolsó, végül és véglegesítés a Java kulcsszavai, amelyeket a kivételkezelésben használnak. E kulcsszavak mindegyike más-más funkcióval rendelkezik. Az alapvető különbség a végleges, végül és a véglegesítés között az, hogy a végső egy hozzáférés módosító, végül a blokk a Kivételkezelés és véglegesíteni az objektumosztály metódusa.
Ezzel együtt sok különbség van a végleges, a végleges és a véglegesítés között. A végleges, a végleges és a véglegesítés közötti különbségek listája az alábbiakban található:
Mr. sz. | Kulcs | végső | végül | véglegesíteni |
---|---|---|---|---|
1. | Meghatározás | final a kulcsszó és a hozzáférés módosító, amely egy osztályra, metódusra vagy változóra vonatkozó korlátozások alkalmazására szolgál. | végül a Java Exception Handling blokkja a fontos kód végrehajtásához, függetlenül attól, hogy a kivétel előfordul-e vagy sem. | A finalize az a módszer a Java-ban, amely a tisztítási feldolgozás végrehajtására szolgál közvetlenül az objektum szemétgyűjtése előtt. |
2. | Alkalmazható | Az utolsó kulcsszót az osztályokkal, metódusokkal és változókkal együtt használják. | Végül a blokk mindig a try and catch blokkhoz kapcsolódik a kivételkezelésben. | A finalize() metódus használatos az objektumokkal. |
3. | Funkcionalitás | (1) A deklarálás után a végső változó állandóvá válik, és nem módosítható. (2) A végső metódust nem írhatja felül alosztály. (3) a végső osztály nem örökölhető. | (1) végül a blokk lefuttatja a fontos kódot, még akkor is, ha kivétel történik vagy sem. (2) végül a blokk megtisztítja a try blokkban használt összes erőforrást | Finalize metódus elvégzi a tisztítási tevékenységeket az objektum vonatkozásában annak megsemmisítése előtt. |
4. | Végrehajtás | A végső metódust csak akkor hajtjuk végre, amikor meghívjuk. | Végül a blokk végrehajtásra kerül, amint a try-catch blokk végrehajtásra kerül. A végrehajtása nem a kivételtől függ. | A finalize metódus közvetlenül az objektum megsemmisítése előtt kerül végrehajtásra. |
Java utolsó példa
Tekintsük a következő példát, ahol deklaráljuk a végső változó kort. A deklarálás után nem lehet módosítani.
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(); } }
Kimenet:
A fenti példában végleges változót deklaráltunk. Hasonlóképpen véglegesnek nyilváníthatjuk a metódusokat és osztályokat a final kulcsszó használatával.
Java végre példa
Lássuk az alábbi példát, ahol a Java kód kivételt dob, és a catch blokk kezeli ezt a kivételt. Később a try-catch blokk után végre kell hajtani a végső blokkot. Továbbá a kód többi része is normálisan lefut.
VégülPélda.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...'); } }
Kimenet:
Java véglegesítési példa
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'); } }
Kimenet: