在Java中,構造函數(shù)的執(zhí)行順序如下:
- 父類的構造函數(shù)會首先被調(diào)用,如果父類有多個構造函數(shù),會調(diào)用與子類構造函數(shù)參數(shù)匹配的那個構造函數(shù)。
- 子類構造函數(shù)會接著被調(diào)用。
- 如果子類構造函數(shù)中使用了super關鍵字來調(diào)用父類構造函數(shù),這個調(diào)用會在子類構造函數(shù)的第一行。
- 如果子類構造函數(shù)中沒有使用super關鍵字顯式調(diào)用父類構造函數(shù),Java會默認調(diào)用父類的無參構造函數(shù)。
- 所有構造函數(shù)中的實例變量初始化代碼會在構造函數(shù)體執(zhí)行之前執(zhí)行。
總結起來,構造函數(shù)的執(zhí)行順序是先調(diào)用父類構造函數(shù),然后調(diào)用子類構造函數(shù),并且構造函數(shù)中的實例變量初始化代碼會在構造函數(shù)體執(zhí)行之前執(zhí)行。