Palabra clave final de Java (con ejemplos)

En este tutorial, aprenderemos sobre las variables, métodos y clases finales de Java con ejemplos.

En Java, la finalpalabra clave se usa para denotar constantes. Se puede utilizar con variables, métodos y clases.

Una vez que se declara cualquier entidad (variable, método o clase) final, solo se puede asignar una vez. Es decir,

  • la variable final no se puede reinicializar con otro valor
  • el método final no se puede anular
  • la clase final no se puede extender

1. Variable final de Java

En Java, no podemos cambiar el valor de una variable final. Por ejemplo,

 class Main ( public static void main(String() args) ( // create a final variable final int AGE = 32; // try to change the final variable AGE = 45; System.out.println("Age: " + AGE); ) ) 

En el programa anterior, hemos creado una variable final llamada edad. Y hemos intentado cambiar el valor de la variable final.

Cuando ejecutamos el programa, obtendremos un error de compilación con el siguiente mensaje.

 cannot assign a value to final variable AGE AGE = 45; 

Nota : Se recomienda utilizar mayúsculas para declarar variables finales en Java.

2. Método final de Java

Antes de aprender acerca de los métodos finales y las clases finales, asegúrese de conocer la herencia de Java.

En Java, el finalmétodo no puede ser reemplazado por la clase secundaria. Por ejemplo,

 class FinalDemo ( // create a final method public final void display() ( System.out.println("This is a final method."); ) ) class Main extends FinalDemo ( // try to override final method public final void display() ( System.out.println("The final method is overridden."); ) public static void main(String() args) ( Main obj = new Main(); obj.display(); ) ) 

En el ejemplo anterior, hemos creado un método final llamado display()dentro de la FinalDemoclase. Aquí, la clase Main hereda la clase FinalDemo.

Hemos intentado anular el método final en la clase Main. Cuando ejecutamos el programa, obtendremos un error de compilación con el siguiente mensaje.

  display() in Main cannot override display() in FinalDemo public final void display() ( overridden method is final 

3. Clase final de Java

En Java, la clase final no puede ser heredada por otra clase. Por ejemplo,

 // create a final class final class FinalClass ( public void display() ( System.out.println("This is a final method."); ) ) // try to extend the final class class Main extends FinalClass ( public void display() ( System.out.println("The final method is overridden."); ) public static void main(String() args) ( Main obj = new Main(); obj.display(); ) ) 

En el ejemplo anterior, hemos creado una clase final llamada FinalClass. Aquí, hemos intentado heredar la clase final de la clase Main.

Cuando ejecutamos el programa, obtendremos un error de compilación con el siguiente mensaje.

 cannot inherit from final FinalClass class Main extends FinalClass ( 

Articulos interesantes...