Diferencia clave: final vs. finalmente vs. finalizar en Java
El final, finalmente y finalizar son términos comunes utilizados en la programación de Java. La final es una palabra clave. Se puede utilizar para variables, métodos o clases. Las variables declaradas como finales deben inicializarse una sola vez. No se pueden cambiar. Como Java es un lenguaje que soporta la Programación Orientada a Objetos, permite crear clases a partir de clases existentes para mejorar la reutilización del código. A veces, puede ser necesario evitar el uso de las clases existentes. Para eso, se puede usar final. En la programación, puede haber errores, y es importante manejarlos para ejecutar el programa correctamente. Finalize es un método llamado por el recolector de basura. Así que todos estos términos tienen diferentes significados en consecuencia. El final es una palabra clave que evita cambiar variables, evita la anulación de métodos y evita la extensión de clases. El finalmente es un bloque en el manejo de excepciones, que se ejecutará ya sea que se produzca una excepción o no. El finalize es un método, llamado por el recolector de basura antes de que destruya el objeto por completo. Esa es la diferencia clave final finalmente y finalizar en Java.
¿Qué es final en Java?
La final es una palabra clave en Java. Como Java admite la programación orientada a objetos, las subclases pueden usar las variables y métodos de una clase ya existente. La clase ya existente es la superclase mientras que la nueva clase es la subclase. Si el programador quiere evitar que otras clases puedan acceder a la variable, puede declarar la variable como 'final'. Por ejemplo, supongamos que existe una variable como p. Se declara como final y se inicializa el valor 10.p.ej. final int p=10. Si el valor p se cambia nuevamente a 20, se producirá un error en tiempo de compilación. La palabra clave final impide cambiar el valor de la variable.
Una clase puede usar un método que ya está en una clase existente. Suponga que hay una clase llamada B que tiene un método display(). La nueva clase es C, y extiende la clase B. Si la clase C también tiene un método llamado display(), entonces el método display() original de la clase B se anula. Si el programador quiere evitar que el método se anule, entonces puede usar la palabra clave finalmente. p.ej. visualización de vacío final(){}. Hacer que un método sea definitivo garantiza que la funcionalidad del método nunca se verá alterada.
Figura 01: final, finalmente y finalizar
También es posible usar la palabra clave final para una clase. La nueva clase no puede heredar variables y métodos de una clase final. Esto es útil para aumentar la seguridad. Como las subclases impiden el uso de la clase, los datos están protegidos.
¿Qué hay finalmente en Java?
En la programación, puede haber errores. Los errores pueden causar salidas incorrectas o terminar la ejecución de un programa. Es importante utilizar algún tipo de mecanismo para evitar estos resultados inesperados. Los errores pueden ser de dos tipos. Son errores de tiempo de compilación y errores de tiempo de ejecución. Se producen errores de tiempo de compilación debido a errores sintácticos. Algunos errores comunes en tiempo de compilación son la f alta del punto y coma, la f alta de llaves, los identificadores mal escritos, las palabras clave y las variables no declaradas. El compilador no creará el archivo.class hasta que se corrijan estos errores.
A veces puede haber programas que se compilan correctamente pero dan un resultado incorrecto. Se llaman errores de tiempo de ejecución. Algunos errores de tiempo de ejecución comunes son sumergir un entero por cero y acceder a un elemento que está fuera de los límites de una matriz. Estos errores no provocarán un error en tiempo de compilación, pero la salida es incorrecta. Una excepción es una condición causada por un error de tiempo de ejecución en el programa.
Cuando hay un error de tiempo de ejecución, Java crea un objeto de excepción y lo lanza. Si el objeto de excepción no se detecta correctamente, mostrará un mensaje de error y finalizará el programa. Si el programador desea continuar con la ejecución del programa con el resto del código, debe capturar el objeto de excepción y mostrar el mensaje necesario para la acción correctiva. Este proceso se conoce como manejo de excepciones.
En Java, try se usa para el código que probablemente cause un error y genere una excepción. El catch se usa para manejar la excepción lanzada por el bloque try. Puede haber varias instrucciones catch. Las declaraciones finalmente se pueden usar para manejar una excepción que no haya sido capturada por ninguna de las declaraciones catch anteriores. El bloque finalmente se ejecutará ya sea que se produzca una excepción o no. Consulte el ejemplo dado.
int p=10, q=5, r=5;
respuesta int;
intentar{
respuesta=p / (q – r);
}
atrapar (Excepción aritmética e){
System.out.println(“Dividido por cero”);
}
finalmente{
System.out.println(“Se ejecuta el bloque finalmente”);
}
Según el ejemplo anterior, el valor p se divide por cero y provocará una excepción. Por lo tanto, es capturado por la instrucción catch. Imprimirá el mensaje, Dividido por cero. El bloque finalmente se ejecutará ya sea que ocurra una excepción o no. Después del mensaje Dividido por cero, se mostrará el mensaje dentro del bloque finalmente. Por lo tanto, finalmente es un bloque utilizado en el manejo de excepciones.
¿Qué es finalizar en Java?
En OOP, los objetos se crean usando clases. El método constructor puede inicializar un objeto cuando se declara. El proceso se conoce como inicialización. Java también tiene un concepto llamado finalización. El tiempo de ejecución de Java es un recolector de basura automático. Libera automáticamente los recursos de memoria utilizados por los objetos. El recolector de basura llama a este método antes de destruir el objeto.
Algunos objetos pueden contener recursos que no son objetos. Un ejemplo es un descriptor de archivo. En estas situaciones, el recolector de elementos no utilizados llama al método de finalización. p.ej. finalizar(). Este método realiza un proceso de limpieza justo antes de que el objeto se recopile como basura.
¿Cuál es la similitud entre final finalmente y finalize en Java?
Todos los elementos final, finalmente y finalize en Java se utilizan en la programación Java
¿Cuál es la diferencia entre finalmente final y finalize en Java?
final vs finalmente vs finalizar |
|
final | La final es una palabra clave en Java que impide cambiar variables, evitar la anulación de métodos y evitar extender clases. |
finalmente | El último es un bloque en el manejo de excepciones de Java, que se ejecutará ya sea que se produzca una excepción o no. |
finalizar | La finalización es un método en Java, llamado por el recolector de basura antes de que destruya el objeto por completo. |
Aplicabilidad | |
final | La final es aplicable a variables, métodos y clases. |
finalmente | El último es aplicable con bloques de prueba y captura. |
finalizar | La finalización se aplica a los objetos. |
Resumen: final vs. finalmente vs. finalizar en Java
El final, finalmente y finalizar son términos comunes utilizados en la programación de Java. Sus palabras parecen las mismas, pero tienen una diferencia. El final es una palabra clave que evita cambiar variables, evitar la anulación de métodos y evitar la extensión de clases. El finalmente es un bloque en el manejo de excepciones, que se ejecutará ya sea que se produzca una excepción o no. El finalize es un método, llamado por el recolector de basura antes de que destruya el objeto por completo. Esa es la diferencia entre final, finalmente y finalizar en programación Java.
Descargue el PDF de final vs. finalmente vs finalize en Java
Puede descargar la versión en PDF de este artículo y usarla sin conexión según la nota de la cita. Descargue la versión en PDF aquí: Diferencia entre final finalmente y finalizar en Java