- 介紹
- 代碼塊又叫初始化塊,屬于類中的成員,類似于方法,將邏輯陳述句封裝在方法體中,通過{ } 包圍起來,但和方法不同,沒有方法名,沒有回傳值,沒有引數,只有方法體,而且不通過物件或類顯示呼叫,而是加載類時或創建物件時隱時呼叫
- 代碼塊分為兩類:
- 使用static修飾的叫靜態代碼塊
- 沒有static修飾的叫普通代碼塊
- 語法:
- static { 代碼..... }
- { 代碼.... }
- 好處
- 相當于另一種形式的構造器
- 如果構造器中都有重復的陳述句,可以抽到初始化塊中
- 細節
- static初始化塊,作用就是對類進行初始化,而且它隨著類的加載而執行,并且只會執行一次
- 類什么時候加載(背背背!!重要重要重要!!!)
- 創建物件實體時會加載
- 創建子類物件實體,父類也會被加載(父先子后)例如 :如果A和B都有靜態初始化塊,并且A繼承B,則先輸出B的初始化塊
- 使用類的靜態成員時(靜態屬性,靜態方法)
創建一個物件時,呼叫順序優先級:靜態 ?? 普通 ?? 構造器(重點!!!!!)
- 優先級高:靜態屬性初始話和靜態初始化塊的呼叫優先級一樣,如果有多個,按他們定義的順序呼叫
- 優先級中:呼叫普通代碼塊和普通屬性初始話優先級一樣,多個按順序
- 優先級低:構造器
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/428443.html
標籤:Java
