logo

Differenza tra final,finalmente e finalize

final, final e finalize sono parole chiave in Java utilizzate nella gestione delle eccezioni. Ognuna di queste parole chiave ha una funzionalità diversa. La differenza fondamentale tra final,finalmente e finalize è che the finale è un modificatore di accesso, Finalmente è il blocco nella gestione delle eccezioni e finalizzare è il metodo della classe dell'oggetto.

Insieme a questo, ci sono molte differenze tra final,finalmente e finalize. Di seguito è riportato un elenco delle differenze tra final, final e finalize:

Signor no. Chiave finale Finalmente finalizzare
1. Definizione final è la parola chiave e il modificatore di accesso utilizzato per applicare restrizioni su una classe, metodo o variabile. infine è il blocco in Java Exception Handling per eseguire il codice importante indipendentemente dal fatto che l'eccezione si verifichi o meno. finalize è il metodo in Java che viene utilizzato per eseguire l'elaborazione di pulizia appena prima che l'oggetto venga sottoposto a Garbage Collection.
2. Applicabile a La parola chiave finale viene utilizzata con classi, metodi e variabili. Infine il blocco è sempre correlato al blocco try and catch nella gestione delle eccezioni. Il metodo finalize() viene utilizzato con gli oggetti.
3. Funzionalità (1) Una volta dichiarata, la variabile finale diventa costante e non può essere modificata.
(2) il metodo finale non può essere sovrascritto dalla sottoclasse.
(3) la classe finale non può essere ereditata.
(1) infine il blocco esegue il codice importante anche se si verifica o meno un'eccezione.
(2) infine il blocco ripulisce tutte le risorse utilizzate nel try block
Il metodo finalize esegue le attività di pulizia rispetto all'oggetto prima della sua distruzione.
4. Esecuzione Il metodo finale viene eseguito solo quando lo chiamiamo. Infine il blocco viene eseguito non appena viene eseguito il blocco try-catch.

La sua esecuzione non dipende dall'eccezione.

Il metodo finalize viene eseguito subito prima che l'oggetto venga distrutto.

Esempio finale Java

Consideriamo il seguente esempio in cui dichiariamo la variabile finale età. Una volta dichiarato non può essere modificato.

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

Produzione:

Differenza tra final,finalmente e finalize

Nell'esempio sopra, abbiamo dichiarato una variabile final. Allo stesso modo, possiamo dichiarare i metodi e le classi final utilizzando la parola chiave final.

Java infine Esempio

Vediamo l'esempio seguente in cui il codice Java genera un'eccezione e il blocco catch gestisce tale eccezione. Successivamente viene eseguito il blocco finalmente dopo il blocco try-catch. Inoltre, anche il resto del codice viene eseguito normalmente.

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

Produzione:

Differenza tra final,finalmente e finalize

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

Produzione:

Differenza tra final,finalmente e finalize