El final, finalment, i finalize són paraules clau en Java que s'utilitzen en el maneig d'excepcions. Cadascuna d'aquestes paraules clau té una funcionalitat diferent. La diferència bàsica entre final, finally i finalize és que el final és un modificador d'accés, finalment és el bloc a la gestió d'excepcions i finalitzar és el mètode de la classe d'objectes.
Juntament amb això, hi ha moltes diferències entre final, finally i finalize. A continuació es mostra una llista de diferències entre final, finally i finalize:
Sr. no. | clau | final | finalment | finalitzar |
---|---|---|---|---|
1. | Definició | final és la paraula clau i el modificador d'accés que s'utilitza per aplicar restriccions a una classe, mètode o variable. | finalment és el bloc a Java Exception Handling per executar el codi important tant si es produeix l'excepció com si no. | Finalize és el mètode de Java que s'utilitza per dur a terme el processament de neteja just abans que l'objecte es reculli les escombraries. |
2. | Aplicable a | La paraula clau final s'utilitza amb les classes, mètodes i variables. | Finalment, el bloc sempre està relacionat amb el bloc try and catch en el maneig d'excepcions. | S'utilitza el mètode finalize() amb els objectes. |
3. | Funcionalitat | (1) Un cop declarada, la variable final esdevé constant i no es pot modificar. (2) El mètode final no es pot substituir per la subclasse. (3) La classe final no es pot heretar. | (1) finalment el bloqueig executa el codi important encara que es produeixi una excepció o no. (2) finalment el bloc neteja tots els recursos utilitzats al bloc try | El mètode finalize realitza les activitats de neteja respecte a l'objecte abans de la seva destrucció. |
4. | Execució | El mètode final només s'executa quan l'anomenem. | Finalment, el bloc s'executa tan bon punt s'executa el bloc try-catch. La seva execució no depèn de l'excepció. | El mètode finalize s'executa just abans de destruir l'objecte. |
Exemple final de Java
Considerem l'exemple següent on declarem l'edat variable final. Un cop declarat no es pot modificar.
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(); } }
Sortida:
què és hibernar a java
En l'exemple anterior, hem declarat una variable final. De la mateixa manera, podem declarar els mètodes i les classes finals mitjançant la paraula clau final.
Java finalment Exemple
Vegem l'exemple següent on el codi Java llança una excepció i el bloc catch gestiona aquesta excepció. Més tard, el bloc finally s'executa després del bloc try-catch. A més, la resta del codi també s'executa normalment.
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...'); } }
Sortida:
nombre sencer doble java
Exemple de finalització de 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'); } }
Sortida: