Heim  >  Artikel  >  Java  >  Detaillierte Erläuterung statischer Codeblöcke, Konstruktionscodeblöcke und Konstruktionsmethoden in Java

Detaillierte Erläuterung statischer Codeblöcke, Konstruktionscodeblöcke und Konstruktionsmethoden in Java

高洛峰
高洛峰Original
2017-01-18 15:05:341196Durchsuche

Führen Sie den folgenden Code aus und beobachten Sie die Ergebnisse:

package com.test;
 
public class HelloB extends HelloA {
   
  public HelloB() {
  }
 
  {
    System.out.println("I'm B class");
  }
   
  static {
    System.out.println("static B");
  }
 
  public static void main(String[] args) {
    new HelloB();
  }
}
 
class HelloA {
   
  public HelloA() {
  }
 
  {
    System.out.println("I'm A class");
  }
   
  static {
    System.out.println("static A");
  }
   
}

Die Ergebnisse sind wie folgt:

static A
static B
I'm A class
I'm B class

Analyse:

1. Statischer Codeblock: Wird während des Initialisierungsschritts des dritten Schritts des Klassenladevorgangs ausgeführt. Der Hauptzweck besteht darin, Klassenvariablen Anfangswerte zuzuweisen.

2. Konstruktionscodeblock: Er ist unabhängig und muss zur Ausführung an einen Träger angehängt werden. Java setzt den Konstruktionscodeblock vor jede Konstruktionsmethode, um einige allgemeine Instanzvariablen zu instanziieren und die Codemenge zu reduzieren . .

3. Konstruktionsmethode: Wird zum Instanziieren von Variablen verwendet.


Zusammenfassung:

1 ist auf Klassenebene, 2 und 3 sind auf Instanzebene, sodass 1 Vorrang vor 2 und 3 hat.

Ihre Ausführung Die Reihenfolge ist 1>2>3;

Die obige detaillierte Erläuterung der statischen Codeblöcke, Konstruktionscodeblöcke und Konstruktionsmethoden in Java ist der gesamte vom Herausgeber geteilte Inhalt. Ich hoffe, dass er Ihnen eine Referenz geben kann. und ich hoffe, dass jeder Duoduo die chinesische PHP-Website unterstützt.

Ausführlichere Erläuterungen zu statischen Codeblöcken, Konstruktionscodeblöcken und Konstruktionsmethoden in Java finden Sie auf der chinesischen PHP-Website!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn