java中的程式碼塊(初始化塊)
阿新 • • 發佈:2022-02-19
- 介紹
- 程式碼塊又叫初始化塊,屬於類中的成員,類似於方法,將邏輯語句封裝在方法體中,通過{ } 包圍起來,但和方法不同,沒有方法名,沒有返回值,沒有引數,只有方法體,而且不通過物件或類顯示呼叫,而是載入類時或建立物件時隱時呼叫
- 程式碼塊分為兩類:
- 使用static修飾的叫靜態程式碼塊
- 沒有static修飾的叫普通程式碼塊
- 語法:
- static { 程式碼..... }
- { 程式碼.... }
- 好處
- 相當於另一種形式的構造器
- 如果構造器中都有重複的語句,可以抽到初始化塊中
- 細節
- static初始化塊,作用就是對類進行初始化,而且它隨著類的載入而執行,並且只會執行一次
- 類什麼時候載入(背背背!!重要重要重要!!!)
- 建立物件例項時會載入
- 建立子類物件例項,父類也會被載入(父先子後)例如 :如果A和B都有靜態初始化塊,並且A繼承B,則先輸出B的初始化塊
- 使用類的靜態成員時(靜態屬性,靜態方法)
建立一個物件時,呼叫順序優先順序:靜態 ➡️ 普通 ➡️ 構造器(重點!!!!!)
- 優先順序高:靜態屬性初始話和靜態初始化塊的呼叫優先順序一樣,如果有多個,按他們定義的順序呼叫
- 優先順序中:呼叫普通程式碼塊和普通屬性初始話優先順序一樣,多個按順序
- 優先順序低:構造器