Final, final en finalize zijn trefwoorden in Java die worden gebruikt bij de afhandeling van uitzonderingen. Elk van deze trefwoorden heeft een andere functionaliteit. Het fundamentele verschil tussen definitief, definitief en definitief is dat de laatste is een toegangsmodificator, Eindelijk is het blok in Afhandeling van uitzonderingen en afronden is de methode van objectklasse.
Daarnaast zijn er veel verschillen tussen definitief, definitief en definitief. Hieronder vindt u een lijst met verschillen tussen final, final en finalize:
Meneer nee. | Sleutel | laatste | Eindelijk | afronden |
---|---|---|---|---|
1. | Definitie | final is het trefwoord en de toegangsmodificator die wordt gebruikt om beperkingen op een klasse, methode of variabele toe te passen. | tenslotte is er het blok in Java Exception Handling om de belangrijke code uit te voeren, ongeacht of de uitzondering optreedt of niet. | finalize is de methode in Java die wordt gebruikt om opruimverwerking uit te voeren net voordat het object wordt verzameld. |
2. | Toepasbaar op | Het laatste trefwoord wordt gebruikt met de klassen, methoden en variabelen. | Ten slotte is blok altijd gerelateerd aan het try-and-catch-blok bij de afhandeling van uitzonderingen. | finalize() methode wordt gebruikt met de objecten. |
3. | Functionaliteit | (1) Eenmaal gedeclareerd, wordt de uiteindelijke variabele constant en kan niet worden gewijzigd. (2) De uiteindelijke methode kan niet worden overschreven door een subklasse. (3) De laatste klasse kan niet worden geërfd. | (1) Tenslotte voert blok de belangrijke code uit, zelfs als er een uitzondering optreedt of niet. (2) Blok ruimt uiteindelijk alle bronnen op die in het try-blok worden gebruikt | finalize method voert de schoonmaakwerkzaamheden uit met betrekking tot het object vóór de vernietiging ervan. |
4. | Executie | De definitieve methode wordt alleen uitgevoerd als we deze aanroepen. | Tenslotte wordt het blok uitgevoerd zodra het try-catch-blok wordt uitgevoerd. De uitvoering ervan is niet afhankelijk van de uitzondering. | finalize-methode wordt uitgevoerd vlak voordat het object wordt vernietigd. |
Java laatste voorbeeld
Laten we het volgende voorbeeld bekijken waarin we de uiteindelijke variabele leeftijd declareren. Eenmaal gedeclareerd, kan het niet meer worden gewijzigd.
arraylijst
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(); } }
Uitgang:
In het bovenstaande voorbeeld hebben we een variabele definitief verklaard. Op dezelfde manier kunnen we de methoden en klassen definitief declareren met behulp van het laatste trefwoord.
Java eindelijk Voorbeeld
Laten we het onderstaande voorbeeld bekijken waarin de Java-code een uitzondering genereert en het catch-blok deze uitzondering afhandelt. Later wordt het definitieve blok uitgevoerd na het try-catch-blok. Verder wordt de rest van de code ook normaal uitgevoerd.
TenslotteExample.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...'); } }
Uitgang:
Java finaliseren Voorbeeld
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'); } }
Uitgang: