靜態代碼段 非靜態代碼 構造函數 在父類和子類中的調用順序問題

廢話不多說,直接上代碼:

 class TextC {

     
	public TextC() {
		
		System.out.println("父類構造方法!");
	}
        {
		System.out.println("父類非靜態代碼段!");
	}
  static{
		System.out.println("父類靜態代碼段!");
	}


}
public class TextB extends TextC{
	

	public static void main(String[] args) {
		
		TextB textB= new TextB();
	}
    
	public TextB(){
		System.out.println("子類構造方法!");
	}

	{
		System.out.println("子類非靜態代碼段!");
	}
	static{
		System.out.println("子類靜態代碼段!");
	}
	
}

運行結果如下:

父類靜態代碼段!
子類靜態代碼段!
父類非靜態代碼段!
父類構造方法!
子類非靜態代碼段!
子類構造方法!


先依次執行父子類的靜態代碼段,再執行非靜態的!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章