AccueilđŸ‡«đŸ‡·Chercher

final (Java)

En langage Java, le mot-clĂ© final indique qu'un Ă©lĂ©ment ne peut ĂȘtre changĂ© dans la suite du programme. Il peut s'appliquer aux mĂ©thodes et attributs d'une classe et Ă  la classe elle-mĂȘme. Aussi, il peut s'appliquer sur les paramĂštres d'une mĂ©thode et sur les variables locales. Selon le contexte, on utilise final dans un souci de conception ou d'optimisation.

Il est aussi utilisĂ© avec le mĂȘme rĂŽle en PHP depuis la version 5 (en 2004)[1].

MĂ©thodes

Une mĂ©thode indiquĂ©e comme final ne peut ĂȘtre redĂ©finie dans une classe dĂ©rivĂ©e.

Exemple :

public class MaClass {
    public final void uneMethode() {
        ...
    }
}

On peut s'en servir pour forcer le comportement d'une méthode dans les sous-classes.

Attributs de classe ou d'objet

AppliquĂ© Ă  un attribut de type primitif, ce dernier devient une constante. L'affectation doit ĂȘtre effectuĂ©e, au plus tard, dans le constructeur de la classe. Le fonctionnement est un peu diffĂ©rent sur un type objet : c'est la rĂ©fĂ©rence vers l'objet qui devient constante et non sa valeur. Ce dernier point s'applique Ă©galement aux tableaux qui sont aussi des rĂ©fĂ©rences.

Exemple :

public final class MaClass {
    public final double PI = 3.14159; // Impossible de modifier la valeur
    public final double[] tailles = {50.2, 60.8};
    public void uneMethode() {
        tailles[0] = 99; // fonctionne car tailles est une référence sur un tableau
    }
}

Classes

Les classes final ne peuvent ĂȘtre dĂ©rivĂ©es.

Exemple :

public final class ClasseFinal {
    ...
}

Cela peut ĂȘtre fait dans un souci d'efficacitĂ© ou pour empĂȘcher l'utilisateur d'en faire une utilisation non appropriĂ©e dans la classe dĂ©rivĂ©e.

De nombreuses classes de la bibliothÚque standard Java sont déclarées comme final telles que java.lang.System[2] ou java.lang.String[3].

ParamÚtres de méthode

Le mot clef final peut aussi ĂȘtre utilisĂ© pour le paramĂštre d'une mĂ©thode dont on est sĂ»r qu'elle ne va pas changer de rĂ©fĂ©rence :

public static int addition(final int a, final int b){
    return a + b;
}

Variables locales

Une autre utilisation du mot clef final est dans les variables locales. Elle suit la mĂȘme rĂšgle, c'est-Ă -dire qu'on est sĂ»r que la variable ne va pas changer.

public static int ajouterCinq(final int a){
    final int b = 5;
    return a + b;
}

Voir aussi

Articles connexes

Liens externes

Notes et références

Références

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.