Maison >Java >javaDidacticiel >Pourquoi utiliser des blocs d'initialisation statiques en Java ?
Vous avez peut-être rencontré le concept de « blocs d'initialisation statiques » en Java. Ils sont destinés à répondre à des scénarios dans lesquels l'attribution de valeurs à des champs statiques ne peut pas être effectuée sur une seule ligne. Cependant, vous vous demandez peut-être pourquoi un bloc spécial est nécessaire à cette fin.
En Java, les blocs non statiques sont exécutés à chaque fois qu'une nouvelle instance de la classe est créée. Les blocs statiques, en revanche, ne sont exécutés qu’une seule fois lorsque la classe elle-même est initialisée. Cela est vrai quel que soit le nombre d'objets de cette classe particulière que vous créez.
Considérez l'exemple suivant :
public class Test { static { System.out.println("Static"); } { System.out.println("Non-static block"); } public static void main(String[] args) { Test t = new Test(); Test t2 = new Test(); } }
Sortie :
Static Non-static block Non-static block
Dans cet exemple, le bloc statique contenant "Static" n'est exécuté qu'une seule fois lors du chargement initial de la classe Test. Le bloc non statique contenant "Non-static block" est exécuté à chaque fois qu'une nouvelle instance (t et t2) de la classe Test est créée.
Par conséquent, utiliser un bloc d'initialisation statique permet d'effectuer des actions spécifiques ou attribuez des valeurs aux champs statiques une seule fois lors de l'initialisation de la classe, tandis que les blocs non statiques sont utilisés pour les tâches qui doivent être effectuées à chaque fois qu'un objet de la classe est instancié.
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!