Retour au cours

Le mot-clé final : Variables, Méthodes et Classes

Maîtrise de Java : De Zéro à Développeur Professionnel (Un parcours en 50 leçons)

Leçon 27 : Le mot-clé final

Le mot-clé final est un modificateur n'agissant pas sur l'accès, utilisé pour restreindre ou définir quelque chose qui ne peut pas être modifié.

1. Variables final (Constantes)

Si une variable est déclarée final, sa valeur ne peut plus être réassignée après l'initialisation. Elles sont souvent utilisées en conjonction avec static pour créer de véritables constantes au moment de la compilation.

java // Une variable final non statique doit être initialisée une fois par objet public final int MAX_USERS = 100;

// Une constante standard (Convention : static final, SCREAMING_SNAKE_CASE) public static final double INTEREST_RATE = 0.05;

// Exemple de tentative de réassignation : MAX_USERS = 200; // ERREUR DE COMPILATION !

2. Méthodes final

Si une méthode est déclarée final, elle ne peut être redéfinie par aucune sous-classe. Cela garantit que l'implémentation de la méthode reste inchangée à travers la hiérarchie d'héritage (souvent utilisé pour la logique de sécurité critique).

java public class Parent { public final void criticalLogic() { // Implémentation qui ne doit jamais changer } }

public class Child extends Parent { // public void criticalLogic() { /* ERREUR ! Impossible de redéfinir une méthode final */ } }

3. Classes final

Si une classe est déclarée final, elle ne peut pas être étendue (ne peut pas avoir de sous-classes). Cela est souvent fait pour des raisons de sécurité ou lorsque la conception ne doit pas permettre de personnalisation, comme la classe intégrée String en Java.

java public final class ConfigurationSettings { // ... }

// public class BadAttempt extends ConfigurationSettings { /* ERREUR ! */ }