Bienvenue dans le premier article de notre série sur le mot-clé statique en Java ! Dans cette série, nous décomposerons divers concepts tels que les variables statiques, méthodes, classes imbriquées et bien plus encore, en les traitant dans de petits articles pour vous aider à comprendre facilement ces concepts.
Dans cet article, nous nous concentrerons sur les blocs statiques, une fonctionnalité spéciale utilisée pour exécuter du code une fois pendant le chargement de la classe. Vous apprendrez ce que sont les blocs statiques, comment ils fonctionnent et quand les utiliser grâce à un exemple pratique.
Un bloc statique est un bloc de code marqué du mot-clé static qui s'exécute exactement une fois lorsque la classe est chargée en mémoire par le ClassLoader de la JVM.
Vous trouverez ci-dessous un programme démontrant le comportement d'un bloc statique ainsi que des constructeurs et des blocs d'initialisation à des fins de comparaison.
package keywords.static_keyword; public class StaticBlock { public static int constantNumber; private int number; // Static Block: Executes once when the class is loaded. static { constantNumber = 100; System.out.println("Static Block Invoked: " + constantNumber); } // Constructor: Called whenever a new object is created. public StaticBlock() { System.out.println("Default Constructor invoked: " + number); } // Constructor: Called whenever a new object is created. public StaticBlock(int num) { System.out.println("Parameterized Constructor invoked: " + (number + num)); } // Initializer Block: Runs before EVERY constructor call. { System.out.println("Initializer Block Invoked"); number = 60 + constantNumber; } public static void main(String[] args) { // Objects created to observe initializer and constructor behavior. StaticBlock obj1 = new StaticBlock(); StaticBlock obj2 = new StaticBlock(200); } }
Sortie :
Static Block Invoked: 100 Initializer Block Invoked Default Constructor invoked: 0 Initializer Block Invoked Parameterized Constructor invoked: 260
Exécution de bloc statique
Création d'objet et bloc d'initialisation
Comportement du constructeur
Feature | Static Block | Initializer Block | Constructor |
---|---|---|---|
When Executed | On class loading | Before each constructor call | On object creation |
How Many Times | Once | Every time an object is created | Every time an object is created |
Purpose | Initialize static members | Initialize instance variables | Initialize the object |
Access Restrictions | Can’t access non-static members directly | Can access both static and non-static | Can access both static and non-static |
Conclusion
Les blocs statiques en Java sont un outil puissant pour
exécuter du code une fois pendant le chargement de la classeRestez à l'écoute des prochains articles dans lesquels nous explorerons des concepts plus essentiels liés au mot-clé statique.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!