Définition :
- Un bloc statique est un morceau de code qui est exécuté lors du premier chargement de la classe par la JVM.
- Il est utilisé pour initialiser des variables statiques ou effectuer des tâches qui doivent être terminées avant que la classe puisse être utilisée.
Objectif :
- Peut être utilisé pour effectuer des initialisations importantes, telles que l'établissement de connexions ou le calcul de valeurs initiales.
- Utile pour préparer la classe avant la création d'instances ou avant l'appel de méthodes statiques.
Exécution :
- Le bloc statique n'est exécuté qu'une seule fois, dès le chargement de la classe, avant tout autre code lié à la classe.
- Il est exécuté même si aucun objet de la classe n'est créé.
Exemple de code avec bloc statique :
StaticBlock.java
// Usa um bloco estático class StaticBlock { static double rootOf2; static double rootOf3; // Bloco estático para inicialização static { System.out.println("Inside static block."); rootOf2 = Math.sqrt(2.0); rootOf3 = Math.sqrt(3.0); } StaticBlock(String msg) { System.out.println(msg); } } class SDemo3 { public static void main(String args[]) { StaticBlock ob = new StaticBlock("Inside Constructor"); System.out.println("Square root of 2 is " + StaticBlock.rootOf2); System.out.println("Square root of 3 is " + StaticBlock.rootOf3); } }
Copier après la connexion
- Le message "À l'intérieur du bloc statique." montre que le bloc statique a été exécuté avant la création de l'objet StaticBlock.
- Les valeurs de rootOf2 et rootOf3 sont calculées dans le bloc statique et sont disponibles avant d'exécuter toute méthode ou construction d'objet.
Avantage des blocs statiques :
Ils veillent à ce que certaines initialisations soient effectuées en toute sécurité et au moment opportun, avant l'utilisation de la classe.
Utilisation courante :
- Initiez des variables statiques complexes ou effectuez la configuration initiale des ressources dont la classe a besoin.
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!