1、靜態塊:父類靜態塊、子類靜態塊
2、父類塊、父類構造器
3、子類塊、子類構造器
也就是:靜態塊優於其他**塊和構造器,然後是父類中的**塊和者構造器、最後才是子類中的**塊和者構造器。
**:
public class mastiff extends dog
// 方法塊
// 構造器
public mastiff()
public static void main(string args)
}
public class dog
// 方法塊
// 構造器
public dog()
}
執行結果:
super static block
static block
super block
dogblock
mastiff
1、父類成員變數賦值
2、父類方法塊賦值
3、父類構造器賦值
4、子類成員變數賦值
5、子類方法塊賦值
6、子類構造器賦值
也就是,先給成員變數賦值,然後執行方法塊賦值,最後才是構造器賦值。
**:
public class mastiff extends dog
// 構造器
public mastiff()
public static void main(string args)
}
public class dog
// 構造器
public dog()
}
執行結果:
父類成員變數賦值
父類方法塊賦值
子類成員變數賦值
子類方法塊賦值
程式執行順序
public class testa 類b public class testb 類 parent public class parent private testa testa2 newtesta parent變數 public parent parent的子類subclass public cl...
java類執行順序
如果父類有靜態成員賦值或者靜態初始化塊,執行靜態成員賦值和靜態初始化塊 如果類有靜態成員賦值或者靜態初始化塊,執行靜態成員賦值和靜態初始化塊 將類的成員賦予初值 原始型別的成員的值為規定值,例如int型為0,float型為0.0f,boolean型為false 物件型別的初始值為null 如果構造方...
java類執行順序
先執行父類的靜態變數和靜態 塊,如果有初值為其賦值,沒有就賦值預設初始值 執行當前類的靜態變數和靜態 塊,如果有初值為其賦值,沒有就賦值預設初始值 執行當前類成員的預設賦值,int 0,boolean false等 執行當前類的構造方法,顯示或者掩式呼叫父類的構造方法,如果構造方法 塊中有this,...