Retour au cours

Le mot-clé static : Variables, Méthodes et Blocs

Maîtrise de Java : De Zéro à Développeur Professionnel (Un parcours en 50 leçons)

Leçon 26 : Le mot-clé static

Le mot-clé static signifie que le membre (variable, méthode ou bloc) appartient à la classe elle-même, plutôt qu'à une instance spécifique (objet) de la classe.

1. Variables Statiques (Variables de Classe)

  • Partagées par toutes les instances de la classe.
  • Initialisées une seule fois lors du chargement de la classe en mémoire.

java public class Counter { // Variable d'instance (chaque objet a sa propre copie) int instanceCount = 0;

// Variable statique (partagée par tous les objets)
public static int totalObjects = 0;

public Counter() {
    instanceCount++;
    totalObjects++; // Incrémente le compteur partagé
}

}

Counter c1 = new Counter(); Counter c2 = new Counter();

// Accès aux variables statiques via le nom de la Classe System.out.println(Counter.totalObjects); // Sortie : 2

2. Méthodes Statiques

  • Peuvent être appelées directement en utilisant le nom de la classe (ex: Math.sqrt(16)).
  • Ne peuvent pas accéder ou modifier directement les variables non statiques (d'instance).
  • Ne peuvent pas utiliser les mots-clés this ou super (car il n'y a pas de contexte d'objet).

java public static String getCompanyName() { return "TechCorp"; }

// Accès : String name = Counter.getCompanyName();

3. Blocs d'initialisation statiques

Utilisés pour initialiser des variables statiques ou effectuer une logique de configuration statique lors du premier chargement de la classe.

java public class Config { public static final double PI;

static {
    // Ceci s'exécute une fois lors du chargement de la classe Config
    PI = 3.14159;
    System.out.println("Bloc statique initialisé.");
}

}