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!