靜態程式碼塊,靜態方法,構造塊,有參構造,無參構造區別,優先順序
阿新 • • 發佈:2020-10-21
1.靜態程式碼塊和構造程式碼塊的區別
靜態程式碼塊:在類中 static{ } 定義 ,在jvm載入時(專案啟動時)就已經執行(僅能載入一次), 構造程式碼塊:在類中 { } 定義,只有當類被例項化時才會被執行 優先順序:靜態程式碼塊>main函式>構造程式碼塊>構造方法
2.靜態程式碼塊和靜態方法區別
靜態程式碼塊:在類中 static{ } 定義 在jvm載入時(專案啟動時)就已經執行(僅能載入一次), 靜態方法: 在專案啟動時就初始化,當不執行,只用通過類去引用才會去執行 總結:靜態程式碼塊-->初始化-->執行 靜態方法-->初始化-->類引用-->執行 靜態程式碼塊時自動就執行的且只能載入一次, 靜態方法時被動執行的(自動初始化)當類去引用它才會去執行(靜態方法不需要例項化就能用)
3 構造塊和構造方法(函式)
構造塊:當類例項化時,構造塊執行,構造塊是給所有建構函式統一的初始化
建構函式:對應的物件的初始化
總結:構造塊是所有構造方法共同擁有的特徵
優先順序:構造塊>構造方法