Statischer Codeblock
static
kann Eigenschaften, Methoden, innere Klassen und Codeblöcke ändern.
Statische Codeblöcke werden beim Laden der Klasse aufgerufen, nur einmal ausgeführt und haben Vorrang vor verschiedenen Codeblöcken und Konstruktoren.
Wenn an einer Stelle statischer Code verwendet wird, werden alle statischen Codeblöcke aufgerufen.
Empfohlene verwandte Video-Tutorials: kostenlose Java-Video-Tutorials
Beispiele sind wie folgt:
Übergeordnete Klasse
public class Human { static { System.out.println("2.父类中的静态代码块"); } public String name; public Human() { System.out.println("1.父类中的构造方法"); } public static void test() { System.out.println("6.父类中的静态方法"); } }
Unterklasse
public class Man extends Human { static { System.out.println("4.子类中的静态代码块"); } public Man() { System.out.println("3.子类中的构造方法"); } public static void doo() { System.out.println("5.子类中的静态方法"); } }
Hauptklasse
public class Main { public static void main(String[] args) { // Human human = new Man(); 输出2 4 1 3 //父类的类名调用父类的方法 //Human.test(); //输出2 6 在调用静态代码时,怕需要上面的静态代码块的内容,所以将其链接到内存 与子类无关 //子类的类名调用子类的方法 //Man.doo(); // 输出2 4 5 在调用子类的静态方法时,父类的静态代码块执行,与父类的静态代码块有关 //子类的类名调用父类的方法 //Man.test(); // 输出 2 6 注意这个能调test不是因为继承,test声明在了human里,子类可以调用父类的方法, //但是父类不能调用子类的方法 所以在Main中不可直达Man中的的方法 //子类调用了父类的方法,在父类的方法里又引用了子类里的静态方法 //Man.test(); 输出 2 6 4 5 } }
Der Inhalt des statischen Codeblocks wird zuerst ausgeführt (aber nur einmal), dann wird der Konstruktor der übergeordneten Klasse ausgeführt und dann der Der Unterklassenkonstruktor wird ausgeführt.
Dieser Artikel stammt aus der Kolumne Java-Einführungsprogramm Jeder ist willkommen, gemeinsam zu kommunizieren und zu lernen!
Das obige ist der detaillierte Inhalt vonJava vertieft den statischen statischen Codeblock. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!