1. 程式人生 > 實用技巧 >靜態程式碼塊,靜態方法,構造塊,有參構造,無參構造區別,優先順序

靜態程式碼塊,靜態方法,構造塊,有參構造,無參構造區別,優先順序

1.靜態程式碼塊和構造程式碼塊的區別

  靜態程式碼塊:在類中 static{ } 定義 ,在jvm載入時(專案啟動時)就已經執行(僅能載入一次),

  構造程式碼塊:在類中 { } 定義,只有當類被例項化時才會被執行

  優先順序:靜態程式碼塊>main函式>構造程式碼塊>構造方法

2.靜態程式碼塊和靜態方法區別

  靜態程式碼塊:在類中 static{ } 定義  在jvm載入時(專案啟動時)就已經執行(僅能載入一次),

  靜態方法:  在專案啟動時就初始化,當不執行,只用通過類去引用才會去執行

      總結:靜態程式碼塊-->初始化-->執行

      靜態方法
-->初始化-->類引用-->執行      靜態程式碼塊時自動就執行的且只能載入一次,      靜態方法時被動執行的(自動初始化)當類去引用它才會去執行(靜態方法不需要例項化就能用)

3 構造塊和構造方法(函式)

  構造塊:當類例項化時,構造塊執行,構造塊是給所有建構函式統一的初始化

  建構函式:對應的物件的初始化

  總結:構造塊是所有構造方法共同擁有的特徵

  

  

    

  優先順序:構造塊>構造方法