Junior
Que signifie le mot-clé 'final' dans le langage de programmation Java?
sobes.tech IA
Réponse de l'IA
Le mot-clé final en Java est utilisé pour indiquer qu'une variable, une méthode ou une classe ne peuvent pas être modifiées.
-
Variable
final:- À une variable déclarée comme
final, sa valeur ne peut être assignée qu'une seule fois. Après l'assignation, elle ne peut pas être modifiée. - Pour les types de données primitifs, la valeur d'une variable
finalest une constante. - Pour les types de données référentiels,
finalsignifie que la référence à l'objet ne peut pas être changée, mais l'état de l'objet (ses champs) peut être modifié (sauf si les champs eux-mêmes sontfinal).
final int MAX_VALUE = 100; // variable primitive finale final List<String> names = new ArrayList<>(); // variable référentielle finale names.add("Alice"); // OK // names = new ArrayList<>(); // Erreur de compilation - impossible de réassigner la référence - À une variable déclarée comme
-
Méthode
final:- Une méthode déclarée comme
finalne peut pas être redéfinie dans les sous-classes. - Cela est utilisé pour empêcher toute modification indésirable du comportement dans la hiérarchie d'héritage.
class Parent { final void display() { System.out.println("Ceci est une méthode finale."); } } class Child extends Parent { // @Override void display() { } // Erreur de compilation - impossible de redéfinir une méthode finale } - Une méthode déclarée comme
-
Classe
final:- Une classe déclarée comme
finalne peut pas avoir de sous-classes (ne peut pas être héritée). - Cela est utilisé pour assurer l'immuabilité de la classe et empêcher l'extension de ses fonctionnalités.
final class ImmutableClass { private final int value; public ImmutableClass(int value) { this.value = value; } public int getValue() { return value; } } // class TryingToExtend extends ImmutableClass { } // Erreur de compilation - impossible d'hériter d'une classe finale - Une classe déclarée comme