1. 程式人生 > 其它 >|NO.Z.00043|——————————|BigDataEnd|——|Java&static關鍵字繼承.V03|-------------------------------------|Java.v03|構造塊|靜態程式碼塊|

|NO.Z.00043|——————————|BigDataEnd|——|Java&static關鍵字繼承.V03|-------------------------------------|Java.v03|構造塊|靜態程式碼塊|



[BigDataJava:Java&static關鍵字繼承.V03]                                                                 [BigDataJava.面向物件] [|章節三|static關鍵字和繼承|構造塊和靜態程式碼塊|]








一、構造塊和靜態程式碼塊
### --- 構造塊和靜態程式碼塊

~~~     ——>        構造塊:在類體中直接使用{}括起來的程式碼塊。
~~~     ——>        每建立一個物件都會執行一次構造塊。
~~~     ——>        靜態程式碼塊:使用static關鍵字修飾的構造塊。
~~~     ——>        靜態程式碼塊隨著類載入時執行一次。
二、程式設計程式碼
### --- 程式設計程式碼

/*
    程式設計實現構造塊和靜態程式碼塊的使用
 */
public class BlockTest {
    
    // 當需要在執行構造方法體之前做一些準備工作時,則將準備工作的相關程式碼寫在構造塊中即可,比如:對成員變數進行的統一初始化操作
    {
        System.out.println("構造塊!"); // (2)
    }
    
    // 靜態程式碼塊會隨著類的載入而準備就緒,會先於構造塊執行
    // 當需要在執行程式碼塊之前隨著類的載入做一些準備工作時,則編寫程式碼到靜態程式碼塊中,比如:載入資料庫的驅動包等
    static {
        System.out.println("#####################靜態程式碼塊!");   // (1)
    }
    
    // 自定義構造方法
    public BlockTest() {
        System.out.println("====構造方法體!"); // (3)
    }
    
    public static void main(String[] args) {
        
        BlockTest bt = new BlockTest();
        
        
        BlockTest bt2 = new BlockTest();
    }
}
三、編譯列印
### --- 編譯

C:\Users\Administrator\Desktop>javac BlockTest.java
### --- 列印輸出

C:\Users\Administrator\Desktop>java BlockTest
#####################靜態程式碼塊!
構造塊!
====構造方法體!
構造塊!
====構造方法體!








===============================END===============================


Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart                                                                                                                                                    ——W.S.Landor



來自為知筆記(Wiz)