非靜態程式碼塊在Java中相對於構造器執行的順序是什麼?
每當建立一個物件時,都會在執行構造器之前執行非靜態塊。
非靜態塊
- 非靜態塊是類級別塊,沒有原型。
- 非靜態塊的需要是無論構造器如何,每當建立一個物件時都要執行任何邏輯。
- 非靜態塊由JVM在java堆疊區域中自動呼叫,以用於建立每個物件。
- 我們可以在 Java 中建立任意數量的非靜態塊 i。
- 非靜態塊的執行順序是按定義的順序。
示例
public class NonStaticBlockTest {
{
System.out.println("First Non-Static Block"); // first non-static block
}
{
System.out.println("Second Non-Static Block"); // second non-static block
}
{
System.out.println("Third Non-Static Block"); // third non-static block
}
NonStaticBlockTest() {
System.out.println("Execution of a Constructor"); // Constructor
}
public static void main(String args[]) {
NonStaticBlockTest nsbt1 = new NonStaticBlockTest();
NonStaticBlockTest nsbt2 = new NonStaticBlockTest();
}
}輸出
First Non-Static Block Second Non-Static Block Third Non-Static Block Execution of a Constructor First Non-Static Block Second Non-Static Block Third Non-Static Block Execution of a Constructor
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
安卓
Python
C 語言
C++
C#
MongoDB
MySQL
Javascript
PHP