由先到後依次的執行流程爲:
1、父類靜態變量
2、父類靜態代碼塊
3、子類靜態變量
4、子類靜態代碼塊
5、父類非靜態變量
6、父類構造函數
7、子類非靜態變量
8、子類構造函數
總結如下:
1、相同代碼塊之間,遵循先父類再子類的順序
2、相同類別之間由先到後遵循,靜態變量,靜態代碼塊,非靜態變量,構造函數的順序
static{ } > { } > 構造方法
各種代碼塊介紹:
名稱 | 形式 | 位置 | 作用 |
局部代碼塊 | {} | 局部位置 | 用於限定變量的生命週期 |
構造代碼塊 | {} | 在類中的成員位置 | 可以把多個構造方法的共同代碼放在一起 |
靜態代碼塊 | static{} | 在類中的成員位置 | 一般對類進行初始化 |