Cada lenguaje de programación tiene una sintaxis específica. El programador debe seguir estas sintaxis al escribir programas. Las palabras clave de los lenguajes de programación tienen significados específicos según las tareas. Son proporcionados por el lenguaje de programación y no pueden utilizarse para variables definidas por el usuario, métodos, clases, etc. La estática y la final son dos palabras clave en Java. Este artículo analiza la diferencia entre estática y final en Java. los diferencia clave entre estática y final en Java es que static se utiliza para definir el miembro de la clase que se puede usar independientemente de cualquier objeto de la clase, mientras que final se usa para declarar una variable constante o un método que no se puede anular o una clase que no se puede heredar.
1. Resumen y diferencia clave
2. Qué es estático en Java
3. ¿Qué es final en Java?
4. Similitudes entre estática y final en Java
5. Comparación lado a lado: estática vs final en Java en forma tabular
6. Resumen
Una clase consiste en miembros de datos (atributos) y métodos. Para llamar a los métodos, debe haber un objeto de esa clase específica. Cuando un método se declara como estático, no es necesario crear un objeto para llamar a ese método. El método se puede llamar usando el nombre de la clase. Consulte el siguiente programa.
Figura 01: Programa Java con variables estáticas y método estático
De acuerdo con el programa anterior, la clase A contiene una variable numérica y un método de visualización. Ambos son miembros estáticos. Por lo tanto, no es necesario crear un objeto para acceder a la variable numérica y al método de visualización. El programador puede escribir directamente el nombre de la clase para imprimir el número y llamar a la pantalla del método. Por lo tanto, no hay necesidad de instanciar un objeto. Si la variable numérica y el método de visualización no son estáticos, entonces debería haber un objeto de tipo A.
Figura 02: Uso de bloque estático
El programa anterior contiene el bloque estático y el método principal. El bloque estático se llama cuando se carga la clase. Por lo tanto, la instrucción en el bloque estático se ejecuta antes que la instrucción en el bloque principal. Si hay muchos bloques estáticos, se ejecutarán en secuencia..
En el programa, puede haber variables de varios tipos. Si hay una variable como int x = 1; más adelante en el programa, ese valor variable puede cambiarse a algún otro valor. Una variable que se declara como final e inicializada con un valor no se puede cambiar más adelante en el programa.
Figura 03: Programa con Variable final y Herencia
Según el programa anterior, x es una variable final. Se le asigna un valor 5. No se puede cambiar algún otro valor porque se declara como final. Java es compatible con la programación orientada a objetos (OOP). Un pilar de la OOP es un polimorfismo. Un tipo de polimorfismo es la anulación. La clase A tiene el método de visualización. La clase B extiende la clase A y tiene su propio método de visualización. Al crear un objeto de tipo B y llamar al método de visualización, se imprimirá "B" como salida. El método de visualización de la clase A se reemplaza por el método de visualización de la clase B.
Si el programador debe evitar la anulación de un método, puede usar la palabra clave final para ese método. Si el método de visualización en la clase A es definitivo, el método de visualización en B dará un error porque ese método no puede ser anulado.
Figura 04: palabra clave final en el Método
Otro pilar de la OOP es la herencia. Ayuda a reutilizar el código ya existente. La nueva clase puede extenderse desde la clase existente y utilizar los miembros de datos y los métodos de la clase existente. Si se requiere que deje de heredar una clase, el programador puede usar la palabra clave 'final'. Consulte el siguiente programa.
Figura 05: palabra clave final en la clase
De acuerdo con el programa anterior, la clase A se declara como final. Cuando la clase B se extiende a A, da un error porque la clase A se declara como final. No puede ser heredado por otras clases..
static vs final en Java | |
La palabra clave estática denota que se puede acceder a una variable o método miembro sin requerir una instanciación de la clase a la que pertenece. | La palabra clave final denota una entidad que solo se puede asignar una vez. |
Variables | |
Las variables estáticas se pueden reinicializar.. | Las variables finales no se pueden reinicializar.. |
Métodos | |
Puede ser llamado por otros métodos estáticos y solo acceder a los miembros estáticos de la clase. | Los métodos finales no pueden ser anulados. |
Clase | |
El objeto de clase estática no se puede crear. Sólo contiene miembros estáticos solamente. | La clase final no puede ser heredada por otras clases. |
Bloquear | |
La palabra clave estática se puede utilizar en un bloque. | La palabra clave final no se usa con un bloque. |
Este artículo discutió dos palabras clave en Java, como estática y final. La diferencia entre estática y final en Java es que la estática se usa para definir el miembro de la clase que se puede usar independientemente de cualquier objeto de la clase, mientras que la final se usa para declarar una variable constante o un método que no se puede anular o una clase que no ser heredado.
1.¿Qué es la palabra clave estática en Java? Método estático y variable estática, Telusko Learnings, 6 de marzo de 2015. Disponible aquí
2.7.16 Cómo usar el Bloque estático en el Tutorial de Java, Aprendizaje de Telusko, 30 de abril de 2015. Disponible aquí
3.8.13 Cómo utilizar la palabra clave final en Java | Método, clase y variable, Aprendizaje de Telusko, 26 de febrero de 2015. Disponible aquí