子類繼承父類(父類和子類裡:塊、靜態塊、構造和方法覆寫)之間呼叫順序
package test01;
class Persion {
public Persion(){
show(); // 第四呼叫(它會呼叫子類覆寫過的 show() 方法)
}
public void show(){
System.out.println("Persion show");
}
{ // 第三呼叫
System.out.println("Persion's no static block");
}
static{ // 第一呼叫
System.out.println("Persion's static block");
}
}
public class Child extends Persion{
public Child(){
show(); // 第六呼叫(它會呼叫子類的 show() 方法)
}
public void show(){
System.out.println("Child show");
}
{ // 第五呼叫
System.out.println("Child's no static block");
}
static{ // 第二呼叫
System.out.println("Child's static block");
}
public static void main(String[] args){
new Child();
}
}
執行結果:
Persion's static block
Child's static block
Persion's no static block
Child show
Child's no static block
Child show
PS:所有類的 static 塊會首先呼叫,其次呼叫 普通塊,然後呼叫構造。
相關文章
- 類的繼承_子類繼承父類繼承
- 子類繼承父類的建構函式(方法)嗎?繼承函式
- C# 繼承 子類(派生類) 父類(基類)C#繼承
- day-25-類的繼承順序-父類對子類的約束-多型-佇列和棧繼承多型佇列
- Java子類和父類的初始化執行順序Java
- 父類和子類之間的轉換問題
- java關於繼承父類,需要實現父類中的構造方法Java繼承構造方法
- 在 C++ 中子類繼承和呼叫父類的建構函式方法C++繼承函式
- 在C++中子類繼承和呼叫父類的建構函式方法C++繼承函式
- C#介面、抽象類、普通類和繼承(子類與父類)都有其特定的用途和場景C#抽象繼承
- 父類和子類的建構函式問題函式
- 父類與子類之間靜態函式的呼叫以及函式引數的傳遞函式
- 子類重寫父類的方法@Override的快捷鍵IDE
- 鏈式-父類中返回子類物件物件
- 如何理解Python3中的子類和父類?Python
- 父類沒有無參構造方法,子類怎麼辦學習筆記構造方法筆記
- 子父類中函式函式
- 關於CSS中的定位使用子絕父相(子類絕對位置和父類相對位置)CSS
- java中父類宣告子類例項化Java
- JNI/NDK開發指南(8):呼叫構造方法和父類例項方法構造方法
- 原型繼承:子類原型繼承
- 子類擁有父類物件所有的屬性和方法,但無法訪問物件
- 子父類中成員變數變數
- Java 中建立子類物件會建立父類物件麼?Java物件
- 京東獲得jd商品分類API介面(父分類、根分類、子分類)API
- 父類和子類物件的獲取值的方式驗證,透過父類屬性的方式獲取不到值,需要使用get方法物件
- 繼承 重寫和抽象類繼承抽象
- java中多型的理解——父類引用指向子類物件Java多型物件
- [短文速度-4] new子類是否會例項化父類
- c# abstract抽象類與繼承類子類的建構函式_baseC#抽象繼承函式
- python3父類需要繼承object嗎?Python繼承Object
- Java類(繼承)初始化順序Java繼承
- python3 筆記20.類的呼叫和多重繼承(多重繼承MRO方法解析順序)Python筆記繼承
- Java之繼承和抽象類Java繼承抽象
- C++父類指標指向子類物件的實現原理C++指標物件
- Java中構造方法,構造程式碼塊和靜態程式碼塊執行順序詳解Java構造方法
- 子承父業-C#繼承C#繼承
- 域初始化、靜態塊及構造方法等在建立類例項時的執行順序 (轉)構造方法