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
thisousuper(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é.");
}
}