Heim  >  Artikel  >  Java  >  Drei Fälle: Interpretation statischer Codeblöcke und konstruierter Codeblöcke

Drei Fälle: Interpretation statischer Codeblöcke und konstruierter Codeblöcke

巴扎黑
巴扎黑Original
2017-06-26 09:30:081577Durchsuche

1. Eine kurze Zusammenfassung von statischen Codeblöcken und nicht statischen Codeblöcken

1. Statische Codeblöcke werden verwendet, wenn eine Klasse Es wird zuerst beim Laden (Speicher) aufgerufen und einmal ausgeführt. Statische Blöcke werden häufig zum Initialisieren von Klassenattributen verwendet. Es wird aufgerufen, bevor das Laden der Klasse

ausgeführt wird. 2. Nicht-statischer Codeblock:

Der nicht-statische Codeblock wird als erster aufgerufen, wenn ein Objekt der Klasse erstellt und geladen wird (jedes Mal). Das Objekt wird erstellt, d. h. jedes Mal, wenn ein Objekt geladen wird, werden nicht statische Codeblöcke einmal ausgeführt. Es wird aufgerufen, bevor das Laden des Klassenobjekts

ausgeführt wird. 3. Statische Methoden und nicht statische Methoden: Sie werden alle beim Aufruf ausgeführt. Statische Methoden gehören zu Klassen und können nach dem Laden der Klasse aufgerufen werden; nicht statische Methoden gehören zu Objekten und nicht statische Methoden können nach dem Laden des Objekts aufgerufen werden.

2. Verwandte Beispieldemonstrationen

 1 public class Cc { 2     public static void main(String[] args) { 3         test p=new test(); 4     } 5 } 6  7 class test { 8     test() {  //在类对象创建的时候就开始执行。简称创建即执行。 9         System.out.println("这是构造函数");10     }11 12     {  //构造代码块,执行在构造函数之前,每当在创建类对象的时候都执行。13         System.out.println("这是构造代码块");14     }15     16     static {  //静态代码块,最早执行,且值执行一次。17         System.out.println("这是静态代码块");18     }19 }
Ergebnisse drucken:

Zeigt, was passiert, wenn es zweimal aufgerufen wird. Vertiefen Sie Ihr Verständnis statischer Codeblöcke.

 1 public class Ccc { 2 public static void main(String[]args) 3 { 4     MyTest p=new MyTest(); 5     MyTest p2=new MyTest();//两次调用 6 } 7 } 8 class MyTest{ 9     10     MyTest(){11         System.out.println("这是构造函数");12     }13     14     {15         System.out.println("这是构造代码块");16     }17     18     static{19         System.out.println("这是静态代码块");20         21     }22 }
Das Druckergebnis ist wie folgt:

Einführung eines Beispiels mit Parametern:

 1 class Cccc { 
 2     public static void main(String[] args) { 
 3         new Person(77);
 4         new Person();
 5     }
 6 } 
 7  
 8 class Person { 
 9     
 10     Person() {
 11         System.out.println("a");
 12     }
 13 
 14     
 15     Person(int x) {  //注意带参数了!!
 16         System.out.println(x);
 17     }
 18 
 19     static {
 20         System.out.println("b");
 21     }
 22 
 23     {
 24         System.out.println("c");
 25     }
 26 }
Ergebnisse drucken:

Das obige ist der detaillierte Inhalt vonDrei Fälle: Interpretation statischer Codeblöcke und konstruierter Codeblöcke. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen 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
Vorheriger Artikel:Selektor von JAVA-5NIONächster Artikel:Selektor von JAVA-5NIO