java的初始化順序
1.類中的 static{…} 執行
2.實例初始化{…}
3.構造函數初始化A(){…}
那麼爲什麼是這個順序呢?如何記憶初始化順序呢?是這樣的,static{…}是在第一次使用類時需要執行,所以它的初始化肯定在類的對象創建之前。其次,構造函數初始化的值是“當前”我們需要的值,所以肯定是先於默認的實例初始化之前的,從設計的角度來講,也是沒有問題的,並且這個順序是唯一,不然會出現違反“直覺”的行爲。
1.類中的 static{…} 執行
2.實例初始化{…}
3.構造函數初始化A(){…}
那麼爲什麼是這個順序呢?如何記憶初始化順序呢?是這樣的,static{…}是在第一次使用類時需要執行,所以它的初始化肯定在類的對象創建之前。其次,構造函數初始化的值是“當前”我們需要的值,所以肯定是先於默認的實例初始化之前的,從設計的角度來講,也是沒有問題的,並且這個順序是唯一,不然會出現違反“直覺”的行爲。
語法: select <列名>, case when <求值表達式> then <表達式> when <求值表達式> then <表達式> when <求值表達式> then <表達式> .. .