Mot-clé final Java (avec des exemples)

Dans ce didacticiel, nous découvrirons les variables finales, les méthodes et les classes Java avec des exemples.

En Java, le finalmot-clé est utilisé pour désigner des constantes. Il peut être utilisé avec des variables, des méthodes et des classes.

Une fois qu'une entité (variable, méthode ou classe) est déclarée final, elle ne peut être affectée qu'une seule fois. C'est,

  • la variable finale ne peut pas être réinitialisée avec une autre valeur
  • la méthode finale ne peut pas être remplacée
  • la classe finale ne peut pas être étendue

1. Variable finale Java

En Java, nous ne pouvons pas modifier la valeur d'une variable finale. Par exemple,

 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); ) ) 

Dans le programme ci-dessus, nous avons créé une dernière variable nommée age. Et nous avons essayé de changer la valeur de la variable finale.

Lorsque nous exécutons le programme, nous obtenons une erreur de compilation avec le message suivant.

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

Remarque : il est recommandé d'utiliser des majuscules pour déclarer les variables finales en Java.

2. Méthode finale Java

Avant d'en savoir plus sur les méthodes finales et les classes finales, assurez-vous de connaître l'héritage Java.

En Java, la finalméthode ne peut pas être remplacée par la classe enfant. Par exemple,

 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(); ) ) 

Dans l'exemple ci-dessus, nous avons créé une méthode finale nommée display()à l'intérieur de la FinalDemoclasse. Ici, la classe Main hérite de la classe FinalDemo.

Nous avons essayé de remplacer la méthode finale dans la classe Main. Lorsque nous exécutons le programme, nous obtenons une erreur de compilation avec le message suivant.

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

3. Classe finale Java

En Java, la classe finale ne peut pas être héritée par une autre classe. Par exemple,

 // 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(); ) ) 

Dans l'exemple ci-dessus, nous avons créé une classe finale nommée FinalClass. Ici, nous avons essayé d'hériter de la classe finale par la classe Main.

Lorsque nous exécutons le programme, nous obtenons une erreur de compilation avec le message suivant.

 cannot inherit from final FinalClass class Main extends FinalClass ( 

Articles intéressants...