Question

Qu'est-ce que c'est?

public class ABC {
   public ABC() {
         System.out.println("world");
   }
   static {
         System.out.println("hello");
   }
}

Will Imprimer: Hello World

Je ne comprends pas vraiment cela, ni quel type de méthode ce code statique est.

Était-ce utile?

La solution

Cela s'appelle un "bloc d'initialisation statique".

Il fonctionne lorsque la classe est chargée pour la première fois; juste une fois.

Par exemple, un constructeur s'exécutera chaque fois que la classe est instanciée; Le bloc statique ne s'exécute qu'une seule fois, lorsqu'il est chargé pour la première fois statiquement par le chargeur VM / classe.

Autres conseils

Je pense qu'il convient de noter que le bloc statique sera exécuté exactement une fois qu'un Classloader charge une classe. Cela signifie que si vous avez plus d'un Classloader, le bloc peut exécuter plus d'une fois.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top