java中子類繼承父類方法及呼叫規則

2021-06-22 04:19:50 字數 414 閱讀 1828

有時候我們會遇到這種情況:父類中有方法a和方法b,方法a中呼叫了方法b。某類繼承該類,重寫了方法b,但沒有對方法a進行重寫。那麼在用子類的例項呼叫該方法a時,最終會執行哪乙個方法b呢?

我們可以寫一段簡單的程式驗證一下。

class a 

void printword()

}class b extends a

}

main方法中使用這兩個類。

b b = new b();

b.printa();

程式的執行結果如下:

printa

printword of b

從結果中我們可以看到,最終呼叫的是子類中的方法b

java中子類繼承父類程式執行順序

我們經常在專案中使用繼承,但是往往不太明白,程式執行的順序以及原理,尤其是使用上轉型物件的時候,以及父類子類中都有static變數和方法時,不知道先執行誰。下面是乙個簡單的繼承,來檢視 的執行順序 package test class person person class student exte...

關於Java中子類呼叫父類方法

當乙個類繼承於另乙個類,子類中沒有父類的方法時。用子類的物件呼叫方法時,會首先在子類中查詢,如果子類中沒有改方法,再到父類中查詢。當乙個方法只在父類中定義時,呼叫該方法時會使用父類中的屬性。如果該方法中又呼叫了其他方法,那麼還是按照之前的順序,先在子類中查詢,再在父類中查詢。package temp...

java中子類能不能繼承父類構造方法

結果有些和想象中的不一樣吧。原因如下 其實每個子類構造方法的第一條語句,都是隱含地呼叫super 如果父類沒有這種形式的建構函式,那麼在編譯的時候就會報錯。所以父類中的構造方法是不能繼承的,但是在例項化子類的時候會呼叫父類的構造方法,這樣就能解釋下面這種情況了。面試題目1 指出下面程式的執行結果 p...