Diferencia entre estática y final en Java

Diferencia entre estática y final en Java

Diferencia clave: estática vs 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 de acuerdo con las tareas. Son proporcionados por el lenguaje de programación y no pueden usarse para variables, métodos, clases definidas por el usuario, etc. La estática y la final son dos palabras clave en Java. Este artículo analiza la diferencia entre Static y Final en Java. El diferencia clave Entre Static 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 puede heredarse.

CONTENIDO

1. Descripción general y diferencia de claves
2. ¿Qué es estática 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

¿Qué es estática 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 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 el método de variable y visualización. Ambos son miembros estáticos. Por lo tanto, no es necesario crear un objeto para acceder al método de variable de número y 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. Entonces, no hay necesidad de instanciar un objeto.  Si la variable de número y el método de visualización no son estatales, entonces debe haber un objeto de tipo A.

Figura 02: Uso del bloque estático

El programa anterior contiene el bloque estático y el método principal. El bloque estático se llama cuando la clase se carga. Por lo tanto, la declaración en el bloque estático se ejecuta antes de la declaración en el bloque principal.  Si hay muchos bloques estáticos, se ejecutarán en secuencia.

¿Qué es final en Java??

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 se puede cambiar 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 admite la programación orientada a objetos (OOP). Un pilar de OOP es un polimorfismo. Un tipo de polimorfismo está anulando. 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, imprimirá "B" como la salida. El método de visualización de la clase A se anula por el método de visualización de la clase B.

Si el programador qué evitar anular 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 final, el método de visualización en B dará un error porque ese método no se puede anular.

Figura 04: palabra clave final en el método

Otro pilar de OOP 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 los datos y los métodos de la clase existente. Si es necesario 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 como 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ática y final en Java??

  • Tanto estático como final son palabras clave en Java.

¿Cuál es la diferencia entre Static y Final en Java??

estática vs final en Java

La palabra clave estática denota que se puede acceder a una variable de miembro, o método, sin requerir una instancia 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 reiniciar. 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
El objeto de clase estática no se puede crear. Solo contiene miembros estáticos solo. La clase final no puede ser heredada por otras clases.
Bloquear
La palabra clave estática se puede usar en un bloque. La palabra clave final no se usa con un bloque.

Resumen - estático VS final en Java

Este artículo discutió dos palabras clave en Java, como Static 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 puede ser anulado o una clase que no puede ser heredado.

Referencia:

1.¿Qué es la palabra clave estática en Java? Método estático y variable estática, aprendizajes de Telusko, 6 mar. 2015. Disponible aquí  
2.7.16 Cómo usar el bloque estático en el tutorial de Java, aprendizajes de Telusko, 30 abril. 2015. Disponible aquí
3.8.13 Cómo usar la palabra clave final en Java | Método, clase y variable, aprendizajes de Telusko, 26 de febrero. 2015. Disponible aquí