Accéder au contenu principal
Documents
Tableaux JavaProgrammation orientée objet en JavaTraitement des fichiers en JavaIntroduction To JavaLes bases du langage JavaMots-clés Java

Mot clé statique et final

En Java, les mots-clés static et final sont utilisés pour définir des comportements spécifiques pour les variables, les méthodes et les classes. La compréhension de ces mots-clés est essentielle pour écrire un code Java efficace et facile à maintenir.

Mot-clé statique

Le mot-clé static est utilisé pour indiquer qu'un membre particulier appartient à la classe elle-même plutôt qu'à une instance spécifique de la classe. Cela signifie que le membre statique est partagé par toutes les instances de la classe.

Utilisation

  • Variables statiques: Partagé par toutes les instances d'une classe.
  • Méthodes statiques: Peut être appelé sans créer d'instance de la classe.
  • Blocs statiques: Utilisé pour l'initialisation statique d'une classe.
  • Classes statiques imbriquées: Les classes qui n'ont pas de référence à une instance de la classe extérieure.

Syntax

static dataType variableName;
static returnType methodName() {
    // method body
}

Exemple : Variable statique et méthode

public class StaticExample {
    static int counter = 0;

    static void incrementCounter() {
        counter++;
    }

    public static void main(String[] args) {
        StaticExample.incrementCounter();
        System.out.println("Counter: " + StaticExample.counter);
    }
}

Dans cet exemple, counter est une variable statique et incrementCounter est une méthode statique. Vous pouvez y accéder sans créer d'instance de StaticExample.

Mot clé final

Le mot-clé final est utilisé pour déclarer des constantes, empêcher la superposition de méthodes et restreindre l'héritage.

Utilisation

  • Variables finales: Une fois attribuée, leur valeur ne peut être modifiée.
  • Méthodes finales: Ne peut pas être remplacé par des sous-classes.
  • Classes finales: Ne peut être sous-classé.

Syntax

final dataType variableName = value;
final returnType methodName() {
    // method body
}
final class ClassName {
    // class body
}

Exemple : Variable finale, méthode et classe

final class FinalExample {
    final int MAX_VALUE = 100;

    final void displayMaxValue() {
        System.out.println("Max Value: " + MAX_VALUE);
    }
}

Dans cet exemple, MAX_VALUE est une variable finale, ce qui signifie que sa valeur ne peut pas être modifiée. La méthode displayMaxValue est finale, elle ne peut donc pas être remplacée. La classe FinalExample est finale, ce qui l'empêche d'être sous-classée.

Conseils et bonnes pratiques

  • Membres statiques: Utilisez des variables et des méthodes statiques lorsque le comportement ou les données ne dépendent pas de données spécifiques à l'instance.
  • Variables finales: Utilisez des variables finales pour les constantes afin de vous assurer que leurs valeurs restent inchangées tout au long du programme.
  • Méthodes finales: Utilisez des méthodes finales pour empêcher les sous-classes de modifier des fonctionnalités essentielles.
  • Classes finales: Utilisez des classes finales pour empêcher l'héritage lorsque vous souhaitez fournir une implémentation complète et non modifiable.
  • Initialisation statique: Utilisez les blocs statiques pour les tâches d'initialisation statique complexes qui ne peuvent pas être traitées par une simple affectation.
static {
    // static initialization block
}
  • Considérations relatives à la mémoire: Soyez prudent avec les variables statiques dans les applications sensibles à la mémoire, car elles persistent pendant toute la durée de vie de l'application.

Apprendre l'essentiel de Java

Développez vos compétences en Java à partir de la base et maîtrisez les concepts de programmation.
Commencez à apprendre gratuitement