Final (Java)

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 ainsi que la classe elle-même. Selon le contexte, on utilise final dans un souci de conception ou d'optimisation. C'est pourquoi il est parfois employé de façon incorrecte.

Sommaire

Méthodes

Une méthode indiquée comme final ne peut être redéfinie dans une classe dérivée.

Exemple :

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

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

Attributs

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; // 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 soucis 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 libraire standard sont déclarées comme final tel que java.lang.System ou java.lang.String.

Voir aussi

Articles connexes

Liens externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Final (Java) de Wikipédia en français (auteurs)

Игры ⚽ Нужно решить контрольную?

Regardez d'autres dictionnaires:

  • Final (Java) — In the Java programming language, the final keyword is used in several different contexts to define an entity which cannot later be changed. Final classes A final class cannot be subclassed. This is done for reasons of security and efficiency.… …   Wikipedia

  • Final — A final may refer to: * the condition of finality *final (competition), the last round of a match, game, or etc. contest, which decides which individual or team will be champion *final examination, a college or university course s final in a… …   Wikipedia

  • Java Platform, Enterprise Edition — Java Platform, Enterprise Edition, abgekürzt Java EE oder früher J2EE, ist die Spezifikation einer Softwarearchitektur für die transaktionsbasierte Ausführung von in Java programmierten Anwendungen und insbesondere Web Anwendungen. Sie ist eine… …   Deutsch Wikipedia

  • Java 2 Enterprise Edition — Java Platform, Enterprise Edition, abgekürzt Java EE oder früher J2EE, ist die Spezifikation einer Softwarearchitektur für die transaktionsbasierte Ausführung von in Java programmierten Anwendungen und insbesondere Web Anwendungen. Sie ist eine… …   Deutsch Wikipedia

  • Java 2 Platform Enterprise Edition — Java Platform, Enterprise Edition, abgekürzt Java EE oder früher J2EE, ist die Spezifikation einer Softwarearchitektur für die transaktionsbasierte Ausführung von in Java programmierten Anwendungen und insbesondere Web Anwendungen. Sie ist eine… …   Deutsch Wikipedia

  • Java EE — Java Platform, Enterprise Edition, abgekürzt Java EE oder früher J2EE, ist die Spezifikation einer Softwarearchitektur für die transaktionsbasierte Ausführung von in Java programmierten Anwendungen und insbesondere Web Anwendungen. Sie ist eine… …   Deutsch Wikipedia

  • Java Platform Enterprise Edition — Java Platform, Enterprise Edition, abgekürzt Java EE oder früher J2EE, ist die Spezifikation einer Softwarearchitektur für die transaktionsbasierte Ausführung von in Java programmierten Anwendungen und insbesondere Web Anwendungen. Sie ist eine… …   Deutsch Wikipedia

  • Java OpenGL — (JSR 231) Скриншот, демонстрирующий …   Википедия

  • Java (Framework) — Java Objektorientierte Programmiersprache Basisdaten Paradigmen: Objektorientierte Programmiersprache Aktuelle  …   Deutsch Wikipedia

  • Java (Programmiersprache) — Java Basisdaten Paradigmen: Objektorientierte Programmiersprache Erscheinungsjahr …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”