Java靜態變量和構造函數的執行順序


案例:

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相關技術知識。

--------------------------------------------------------------------


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM