logo

Skillnaden mellan final, final och finalize

Final, final, och finalize är nyckelord i Java som används i undantagshantering. Vart och ett av dessa nyckelord har olika funktioner. Den grundläggande skillnaden mellan final, final och finalize är att slutlig är en åtkomstmodifierare, till sist är blocket i Undantagshantering och avsluta är metoden för objektklass.

Tillsammans med detta finns det många skillnader mellan final, final och finalize. En lista över skillnader mellan final, final och finalize ges nedan:

Herr nej. Nyckel slutlig till sist avsluta
1. Definition final är nyckelordet och åtkomstmodifierare som används för att tillämpa begränsningar på en klass, metod eller variabel. slutligen är blocket i Java Exception Handling för att exekvera den viktiga koden oavsett om undantaget inträffar eller inte. finalize är metoden i Java som används för att utföra saneringsbearbetning precis innan objektet samlas in.
2. Tillämplig på Det sista nyckelordet används med klasserna, metoderna och variablerna. Slutligen är block alltid relaterat till försök och fånga blocket i undantagshantering. finalize()-metoden används med objekten.
3. Funktionalitet (1) När den väl har deklarerats blir den slutliga variabeln konstant och kan inte ändras.
(2) slutlig metod kan inte åsidosättas av underklass.
(3) slutklassen kan inte ärvas.
(1) slutligen block kör den viktiga koden även om undantag inträffar eller inte.
(2) block rensar slutligen upp alla resurser som används i försöksblocket
finalize-metoden utför rengöringsaktiviteterna med avseende på objektet innan det förstörs.
4. Avrättning Den slutliga metoden exekveras endast när vi anropar den. Slutligen exekveras blocket så snart försöksfångsblocket exekveras.

Dess utförande är inte beroende av undantaget.

finalize-metoden exekveras precis innan objektet förstörs.

Java sista exempel

Låt oss överväga följande exempel där vi deklarerar slutlig variabel ålder. När den väl har deklarerats kan den inte ändras.

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(); } } 

Produktion:

Skillnaden mellan final, final och finalize

I exemplet ovan har vi deklarerat en variabel final. På samma sätt kan vi förklara metoderna och klasserna slutgiltiga med hjälp av det sista nyckelordet.

Java äntligen Exempel

Låt oss se exemplet nedan där Java-koden kastar ett undantag och catch-blocket hanterar det undantaget. Senare exekveras finally-blocket efter try-catch-blocket. Vidare exekveras även resten av koden normalt.

SlutligenExample.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...'); } } 

Produktion:

Skillnaden mellan final, final och finalize

Java finalize Exempel

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'); } } 

Produktion:

sajter som coomeet
Skillnaden mellan final, final och finalize