1. 程式人生 > 其它 >Spring-IOC (使用註解管理Bean、完全註解開發)

Spring-IOC (使用註解管理Bean、完全註解開發)

關於Java中的static關鍵字:

1、static英語單詞翻譯為靜態的

2、static修飾的方法時靜態方法

3、static修飾的變數時靜態變數

4、所有static修飾的元素都稱為靜態的,都可以使用“類名.”的方式訪問,當然也可以用“引用.”的方式訪問【但不建議】

5、static修飾的所有元素都是類級別的特徵,和具體的物件 無關。

6、static修飾的變數會在方法區開闢一個該變數的空間

靜態程式碼塊(在類裝載時執行一次,優先於main方法)

1.語法格式:

static{

java語句;

}

2.靜態程式碼塊在類載入時執行,並且只執行一次。

3.靜態程式碼塊在一個類中可以編寫多個,並且遵循自上而下的順序一次執行。

4.靜態程式碼塊的作用?怎麼用?

-和實際需求有關係。例如專案中要求在類載入的時刻執行程式碼完成日誌的記錄。

那麼這段記錄日誌的程式碼就可以縮寫到靜態程式碼快當中,完成日誌記錄。

-靜態程式碼塊是Java為程式設計師準備的一個特殊的時刻,這個特殊時刻被稱為類載入時刻。

若希望在此刻執行一段特殊的程式,這段程式可以直接放到靜態程式碼塊當中。

5.通常在靜態程式碼塊當中完成預備工作,先完成資料的準備工具,例如:初始化連線池,解析xml配置檔案

程式碼示例

public class StaticTest01{
    static{
        System.out.println("類載入 --》 1");
    }
        static{
        System.out.println("類載入 --》 2");
    }
        static{
        System.out.println("類載入 --》 3");
    }
    public static void main(String[] args){
        System.out.println("main begin");
    }
}

例項程式碼塊(在每次例項物件時執行)

1、例項程式碼塊可以編寫多個,也是遵循自上而下的順序依次執行

2、例項程式碼塊在構造方法執行之前執行,構造方法執行依次,例項程式碼塊對應執行一次。

3、例項程式碼塊也是Java語言為程式設計師準備一個特殊的時機,這個特殊時機被稱為:物件初始化時機。

程式碼示例

public class Test{
    //建構函式
    public Test(){
        System.out.println("Test類的預設構造器執行");
    }
    //例項程式碼塊
    {
        System.out.println(1);
    }
        //例項程式碼塊
    {
        System.out.println(2);
    }
        //例項程式碼塊
    {
        System.out.println(3);
    }
    public static void main(String[] args){
        System.out.println("main begin");
        new Test();
        new Test();
    }
}

輸出結果:

main begin
1
2
3
Testlei類的預設構造器執行
1
2
3
Testlei類的預設構造器執行

從結果可以看出,與main方法無關,但當new例項化方法後,順序是先執行例項程式碼塊再執行構造徐