Le mot-clé final peut modifier les variables locales dans les classes, les variables membres et les méthodes. Vous pouvez utiliser le mot-clé final pour déclarer une classe comme classe finale. Une classe finale ne peut pas être héritée, c'est-à-dire qu'elle ne peut pas avoir de sous-classes.
Par exemple:
classe finaleA{…}
A est une classe finale et aucune classe ne pourra être déclarée comme sous-classe de A. Généralement, certaines classes sont modifiées en classes finales pour des raisons de sécurité. Par exemple : La classe String fournie par Java dans le package java.lang joue un rôle très important dans le fonctionnement normal du compilateur et de l'interpréteur. Java ne permet pas aux programmes utilisateur d'étendre la classe String, donc Java la modifie en tant que classe finale. .
Si une méthode de la classe parent est modifiée avec final, cette méthode ne peut pas être remplacée par les sous-classes, c'est-à-dire que les sous-classes ne sont pas autorisées à masquer les méthodes finales qui peuvent être héritées.
Si une variable membre ou une variable locale est modifiée pour être finale, c'est une constante. Étant donné que les constantes ne sont pas autorisées à changer pendant l'exécution, les constantes n'ont pas de valeur par défaut lorsqu'elles sont déclarées, ce qui nécessite que le programme spécifie la valeur de la constante lors de sa déclaration.