English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
Toutes les catégories

le mot clé "final" on l'utilise pour déclarer une méthode dans une super classe et qui ne peut pas etre modifier dans une sous classe c'est ça?

2007-02-27 00:47:10 · 3 réponses · demandé par obama 3 dans Informatique et internet Programmation

3 réponses

Oui, ça veut dire que si tu essayes dans une sous-classe de redéfinir ta méthode le compilateur refusera.

D'autre part il en profite pour faire quelques optimisations lors des appels : comme il sait que la méthode ne peut plus être surchargée dans certains cas il peut générer des appels statiques, mais pas toujours.

Concernant les variables, qui étaient citées dans les autres réponses : il faut bien faire attention à ce qu'on entend par "constantes"; oui les entiers ou les float seront constantes, mais pas les objets, en effet les objets sont accédés par des références (pointeurs) or le mot final va protéger le pointeur mais pas l'objet qui est derrière. Attention!

2007-02-27 17:24:21 · answer #1 · answered by t_cordonnier 7 · 0 0

Absolument ! Lorsque la méthode d'une classe est déclarée "final", elle ne peut pas être remplacée (ni modifiée) dans une sous-classe.
Dans le même ordre d'esprit, si une classe est finale, elle ne peut pas être étendue et si une variable est déclarée comme "final", elle sera considérée comme constante (dès l'affectation de sa valeur).

2007-02-27 09:06:30 · answer #2 · answered by Chris Redfield 4 · 2 0

Oui c'est ca.
"Une méthode portant le modificateur final ne peut pas être remplacée dans une sous-classe."

Tu verras par toi meme ;).

2007-02-27 10:19:52 · answer #3 · answered by Anne-Gaëlle D 2 · 0 0

fedest.com, questions and answers