Le mot clé final en Java

Le mot-clé final en Java est un modificateur utilisé pour empêcher la modification d’un code ou d’une valeur. Il est possible d’utiliser ce mot-clé dans 3 contextes :

  • Mot-clé final en tant que modificateur de variable
  • Mot clé final en tant que modificateur de méthode
  • Mot-clé final en tant que modificateur de classe

Chaque contexte a sa propre signification et ses restrictions implicites. Ils sont discutés en détail ci-dessous.
 
Afficher un triangle d'étoiles en JavaAfficher un triangle d’étoiles en JavaDans ce tutoriel nous allons découvrir comment afficher un triangle ou pyramide, demi-pyramide et pyramide inversé, en programmation Java en utilisant la boucle FOR.  …Lire plus

Mot-clé final en tant que modificateur de variable

Chaque contexte a son propre but. Le mot-clé final, lorsqu’il est utilisé avec une variable, il est spécifiquement destiné à empêcher l’utilisateur de modifier la valeur. Une variable déclarée final, une fois initialisée, sa valeur ne peut être changée.

Si la variable final vient d’être déclarée mais non initialisée, il est permis d’attribuer une valeur à une variable final une fois dans le code. Toute modification de la valeur d’une variable final entraînera une erreur de compilation.

Par exemple, le code ci-dessous affichera une erreur lors de la compilation si vous tentez de le compiler.

public class FinalStr {

	final String str = "Hello World!";
	
	public FinalStr() {
		str = "Welcome"; //la variable str ne peut pas être modifiée
	}

}

 

Mot clé final en tant que modificateur de méthode

Une méthode déclarée final ne peut être redéfinée. Ce qui signifie que même une sous-classe peut appeler la méthode final de la classe parente sans aucun problème, mais elle ne peut y redéfinir.

Par exemple, le code ci-dessous affichera une erreur lors de la compilation si vous tentez de le compiler.

class Bar{  
   final void display(){
      System.out.println("Méthode de la classe Bar");
   }  
}  
	     
class Foo extends Bar{  
   void display(){
      System.out.println("Méthode de la classe Foo");
   }  
	     
   public static void main(String args[]){  
      Foo obj= new Foo();  
      obj.display();  
   }  
}
Différence entre Surcharge et RedéfinitionDifférence entre Surcharge et Redéfinition en JavaQuelle est la différence entre Surcharge et Redéfinition ? – la surcharge de fonctions est utilisée dans une seule classe où vous avez le même…Lire plus
Mot-clé final en tant que modificateur de classe

Le mot clé final, lorsqu’il est utilisé par une classe en tant que modificateur, il empêche la classe d’être héritée par une autre classe. Par exemple, si vous essayez de compiler le code ci-dessous, il génère une erreur de compilation car la classe « Bar » est une classe final qui ne peut être héritée.

final class Bar{  
}  
	     
class Foo extends Bar{  
   void display(){
      System.out.println("Hello World!");
   }  
   public static void main(String args[]){  
      Foo obj= new Foo(); 
      obj.display();
   }  
}

 
 

Les points à retenir:
  • Un constructeur ne peut être déclaré final.
  • Une variable final locale doit être initialisée pendant la déclaration.
  • Toutes les variables déclarées dans une interface sont par défaut final.
  • Nous ne pouvons pas changer la valeur d’une variable déclarée final.
  • Une méthode final ne peut être redéfinie.
  • Une classe final ne peut être héritée.
  • Si les paramètres d’une méthode sont déclarés final, la valeur de ces paramètres ne peut être modifiée.

 

Partagez cet article

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *