Diferencia clave: estático frente a final en Java
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. Los proporciona el lenguaje de programación y no se pueden utilizar para variables, métodos, clases, etc. definidos por el usuario. La estática y la final son dos palabras clave en Java. Este artículo analiza la diferencia entre estático y final en Java. La diferencia clave entre static y final en Java es que static se usa 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.
¿Qué es estático en Java?
Una clase consta de 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
Según 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 sentencia del bloque estático se ejecuta antes que la sentencia del bloque principal. Si hay muchos bloques estáticos, se ejecutarán en secuencia.
¿Qué es final en Java?
En el programa pueden existir variables de varios tipos. Si hay una variable como int x=1; más adelante en el programa, ese valor variable se puede cambiar a algún otro valor. Una variable que se declara como final y se inicializa 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 ningún otro valor porque se declara como final. Java admite la programación orientada a objetos (POO). Un pilar de OOP es un polimorfismo. Un tipo de polimorfismo es anular. 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 quiere evitar anular un método, entonces puede usar la palabra clave final para ese método. Si el método de visualización en la clase A es final, el método de visualización en B generará un error porque ese método no se puede anular.
Figura 04: palabra clave final en el Método
Otro pilar de la programación orientada a objetos es la herencia. Ayuda a reutilizar el código ya existente. La nueva clase puede extenderse desde la clase existente y usar los miembros de datos y métodos de la clase existente. Si se requiere dejar de heredar una clase, el programador puede usar la palabra clave 'final'. Consulte el siguiente programa.
Figura 05: palabra clave final en la Clase
Según el programa anterior, la clase A se declara final. Cuando la clase B extiende A, da un error porque la clase A se declara como final. No puede ser heredado por otras clases.
¿Cuál es la similitud entre estático y final en Java?
Tanto static como final son palabras clave en Java
¿Cuál es la diferencia entre estático y final en Java?
estático vs final en Java |
|
La palabra clave estática indica que se puede acceder a una variable miembro, o método, sin necesidad de instanciar 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 se pueden anular. |
Clase | |
No se puede crear el objeto de clase estática. Solo contiene miembros estáticos. | La clase final no puede ser heredada por otras clases. |
Bloque | |
La palabra clave estática se puede usar en un bloque. | La palabra clave final no se usa con un bloque. |
Resumen: estático frente a final en Java
Este artículo analiza dos palabras clave en Java, como static y final. La diferencia entre static y final en Java es que static se usa 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. ser heredado.