java 類執行順序

2021-09-25 03:42:46 字數 991 閱讀 7721

package com.accdays.keyword;

/** * 類中**的執行順序:

* 1. 載入時:static 塊會執行一次,且以後不會再執行

* 2. {}**塊、例項化屬性字段 : 相同執行級別,按照**順序執行

* 3. 建構函式

* 如果有父類,先按照上面順序執行父類的**

* * 執行順序:

* 1. 先父類再子類

* 2. 先 static 塊【只執行一次】

* 3. 父類:

* 3. {}**塊、例項化屬性字段 : 相同執行級別,按照**順序執行

* 4. 建構函式

* 5. 子類重複父類的執行順序

* * 執行順序:

* 1. 先 static 塊。先當前類,再需要例項化的類。

* 2. {}**塊、例項化屬性字段 相同執行級別,按照**順序執行

* 3. 先父類無參構造方法【子類在自己的構造方法中,沒有明確的用super呼叫父類的構造方法時,則先呼叫父類的無參構造方法】

* 4. 例項化自己類的屬性

* 4. 先父類再子類

*/public class father ");

}person person = new person("father");

static

public father()

public static void main(string args)

}class children extends father

public children()

}class person

public person(string str)

}class grandfather

private person p=new person("grandfather");

public grandfather()

}

java類執行順序

如果父類有靜態成員賦值或者靜態初始化塊,執行靜態成員賦值和靜態初始化塊 如果類有靜態成員賦值或者靜態初始化塊,執行靜態成員賦值和靜態初始化塊 將類的成員賦予初值 原始型別的成員的值為規定值,例如int型為0,float型為0.0f,boolean型為false 物件型別的初始值為null 如果構造方...

java類執行順序

先執行父類的靜態變數和靜態 塊,如果有初值為其賦值,沒有就賦值預設初始值 執行當前類的靜態變數和靜態 塊,如果有初值為其賦值,沒有就賦值預設初始值 執行當前類成員的預設賦值,int 0,boolean false等 執行當前類的構造方法,顯示或者掩式呼叫父類的構造方法,如果構造方法 塊中有this,...

Java類載入執行順序

簡要記錄類的載入執行順序 先說結論 父類靜態 塊 變數 子類靜態 塊 變數 父類普通 變數 塊 父類構造器 子類普通 變數 塊 子類構造器 具體執行過程 程式先找到main函式,不管此時有沒有使用new進行建立物件,都會將涉及到的類 例如父類 進行類載入 發現son類有乙個父類father類 初始化...