極氪 001 量產車下線,10 月 23 日開啟交付
阿新 • • 發佈:2021-10-19
關於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類的預設構造器執行