L'ordre d'exécution est le suivant : exécutez d'abord le "bloc de code statique", puis exécutez le "bloc de code de construction", et enfin exécutez le "bloc de code de construction". Les blocs de code statiques sont au niveau de la classe, tandis que les blocs de code structurels et les méthodes de construction sont au niveau de l'instance, de sorte que les blocs de code statiques sont exécutés en premier et parce que les blocs de code structurels sont indépendants et doivent s'appuyer sur un support pour s'exécuter, le code structurel ; les blocs de code doivent être placés dans la structure avant la méthode.
L'environnement d'exploitation de ce tutoriel : système windows7, version java8, ordinateur DELL G3.
Les blocs de code de construction, les blocs de code statiques et les méthodes de construction sont trois blocs de code différents dans une classe, alors quelles sont les différences entre eux ?
Bloc de code statique : déclaré avec straitc, exécuté lorsque jvm charge la classe, exécuté une seule fois
Bloc de code de construction : défini directement avec {} dans la classe, exécuté à chaque fois qu'un l'objet est créé.
Priorité de l'ordre d'exécution : bloc statique, main(), bloc de construction, méthode de construction.
class A { //构造代码块 { System.out.println("构造代码块A"); } //静态代码块 static { System.out.println("静态代码块A"); } //构造方法 public A() { System.out.println("构造方法A"); } }
Afin de clarifier l'ordre d'exécution des trois, nous instancions la classe A et testons respectivement une instance unique et plusieurs instances.
class Demo { public static void main(String[] args) { new A(); } }
class Demo { public static void main(String[] args) { new A(); new A(); new A(); } }
class B extends A { //构造代码块 { System.out.println("构造代码块B"); } //静态代码块 static { System.out.println("静态代码块B"); } //构造方法 public B() { System.out.println("构造方法B"); } } class Demo { public static void main(String[] args) { new B(); } }
. 1. Lors de la création du processus d'un objet, l'ordre d'exécution des trois est : bloc de code statique --> Bloc de code de construction --> Méthode de construction : elle est effectuée lors de la troisième étape d'initialisation du processus de chargement de la classe. l'objectif principal est d'attribuer des valeurs initiales aux variables de classe.
2. Bloc de code de construction : Il est indépendant et doit être attaché à un support pour s'exécuter. Java placera le bloc de code de construction devant chaque méthode de construction pour instancier certaines variables d'instance courantes et réduire la quantité de code.3.Méthode Constructeur : utilisée pour instancier des variables.Comprenons une chose maintenant : l'utilisation active d'une sous-classe entraînera une utilisation active de sa classe parent, donc bien que la sous-classe soit instanciée, elle conduira également à l'initialisation et à l'instanciation de la classe parent, et c'est mieux que l'exécution de la sous-classe.
1 est au niveau de la classe, 2 et 3 sont au niveau de l'instance, naturellement 1 est prioritaire sur 23.2. Chaque fois qu'un objet est créé, le bloc de code de construction et la méthode de construction seront exécutés une fois ; quel que soit le nombre d'objets créés, le bloc de code statique n'est exécuté qu'une seule fois lorsque le premier objet est créé ; Créez des objets de sous-classe , le bloc de code statique de la sous-classe est exécuté après le bloc de code statique de la classe parent, mais a priorité sur le bloc de code de construction et la méthode de construction de la classe parent
4. Lors de la création d'un objet de sous-classe, la construction ; Le bloc de code de la sous-classe est exécuté après la classe parent. Exécuté après la construction de la méthode.
Tutoriels vidéo associés recommandés :
Tutoriel vidéo Java
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!