案例:
package com.devin;
public class MyMain {
public static void main(String args[]) {
Father f = new Son();
}
}
class Father {
public Father() {
System.out.println("Father Construct");
}
static int a=printFahter();
static int printFahter() {
System.out.println("print in father");
return 1;
}
}
class Son extends Father {
public Son() {
System.out.println("Son Construct");
}
static int b=printSon();
static int printSon() {
System.out.println("print in son");
return 2;
}
}
輸出結果:
print in father
print in son
Father Construct
Son Construct
結論,靜態變量和構造函數的執行順序:
1、父類的靜態變量;
2、子類的靜態變量;
3、父類的構造函數;
4、子類的構造函數;
--------------------------------------------------------------------
PS: 歡迎關注公眾號"Devin說",會不定期更新Java相關技術知識。
--------------------------------------------------------------------