Java 不支持multi-inheritance

更新於 發佈於 閱讀時間約 2 分鐘

今天有A, B, C 三個 class

A class有 eat(), drink(), cry() 三個method

B class有 dance(), cry() 兩個method

C class有 dream() 一個method


當C extends A

以C 創建出來的物件將能使用dream、eat、drink、cry等四個method


當C extends B

以C 創建出來的物件將能使用dream、dance、cry等三個method


但如果C extends A,B

以C 創建出來的物件將能使用本身的dream method

和 A 的eat、drink、cry等三個method

還有 B 的dance、cry等兩個method

問題就是此時會不知道cry method要採用A還是B的

所以Java不能同時多重繼承


但是可以多層繼承

class A {
public void eat(){

}
public void drink(){

}
public void cry(){
System.out.println("cry in A");
}
}
class B extends A{
public void dance(){

}
public void cry(){
System.out.println("cry in B");
}
}

class C extends B{
public void dream(){

}
}

public class Demo {
public static void main(String[] args) {

C c = new C();
c.cry();
}

C extends B

然後B 再extends A

程式31行執行結果將會是 "cry in B"

會按照順序一步一步往上層問(父類別)是否有該method

一問到肯定答案就不會再往上問

所以才會執行B class的 cry() 而不是 A class的 cry()

留言
avatar-img
留言分享你的想法!
avatar-img
Genos's Coding Diary的沙龍
6會員
19內容數
我的Java學習日記
2023/10/03
為何要重寫equals方法? 為何要重寫hashCode方法?
2023/10/03
為何要重寫equals方法? 為何要重寫hashCode方法?
2023/09/27
兩種方式進行物件比較,使用Comparator或使用Comparable
2023/09/27
兩種方式進行物件比較,使用Comparator或使用Comparable
2023/09/27
併發,多個事情在同一時間段內同時發生 並行,多個事情在同一個時間點上同時發生
2023/09/27
併發,多個事情在同一時間段內同時發生 並行,多個事情在同一個時間點上同時發生
看更多
你可能也想看
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
晚上幫兒子簽聯絡簿時,發現有一項作業是:「背第二課課文。」於是我問兒子,你課文背完了沒?兒子不在意地回答:「還沒」。我疑惑的說:「還沒怎麼不快點來背?」「因為我不會。」兒子丟下這句話,就繼續看他的怪傑佐羅力。 我停頓了幾秒想著:這不會有兩種,第一種是你不想做;第二種是你不知道怎麼做。 你這
Thumbnail
晚上幫兒子簽聯絡簿時,發現有一項作業是:「背第二課課文。」於是我問兒子,你課文背完了沒?兒子不在意地回答:「還沒」。我疑惑的說:「還沒怎麼不快點來背?」「因為我不會。」兒子丟下這句話,就繼續看他的怪傑佐羅力。 我停頓了幾秒想著:這不會有兩種,第一種是你不想做;第二種是你不知道怎麼做。 你這
Thumbnail
有的學生看到 ㄹ尾音單字,會覺得很奇怪:「為什麼알다 明明有尾音,卻不是接上 습니다呢?」、「為什麼 놀다 明明有尾音,卻不是接上 으니까呢?」、「為什麼 팔다 明明有尾音,卻不是接上 으세요呢?」等,這些問題全是韓語教材上不會提到的根本觀念...
Thumbnail
有的學生看到 ㄹ尾音單字,會覺得很奇怪:「為什麼알다 明明有尾音,卻不是接上 습니다呢?」、「為什麼 놀다 明明有尾音,卻不是接上 으니까呢?」、「為什麼 팔다 明明有尾音,卻不是接上 으세요呢?」等,這些問題全是韓語教材上不會提到的根本觀念...
Thumbnail
不同的階段,學過的可能不再重要,甚至有可能是錯的? 既然是錯的,為什麼要去學習? 最近在教兒子的時候,發現一件事,以前我教二兒子:「不可以尖叫,不可以哭鬧,如果有什麼不開心,就要講出來。」經過了一段時間,他也的確做到了,但是我卻又跟他說:「這樣不對,你不能總是說你不喜歡,然後就要別人照著你的意思做。
Thumbnail
不同的階段,學過的可能不再重要,甚至有可能是錯的? 既然是錯的,為什麼要去學習? 最近在教兒子的時候,發現一件事,以前我教二兒子:「不可以尖叫,不可以哭鬧,如果有什麼不開心,就要講出來。」經過了一段時間,他也的確做到了,但是我卻又跟他說:「這樣不對,你不能總是說你不喜歡,然後就要別人照著你的意思做。
Thumbnail
二、繼承(inheritance) 繼承就是假如A(子)類別去繼承B(父)類別,那麼A(子)類別可以直接去使用B(父)類別非私有的屬性和方法,但是A(子)只能繼承一個B(父)類別ㄛ! 一樣的道理可以比喻為:爸爸跟小孩之間的關係。小孩可以去運用爸爸的資源,但是爸爸的工作屬於他自己的不能跟小孩一起分享,
Thumbnail
二、繼承(inheritance) 繼承就是假如A(子)類別去繼承B(父)類別,那麼A(子)類別可以直接去使用B(父)類別非私有的屬性和方法,但是A(子)只能繼承一個B(父)類別ㄛ! 一樣的道理可以比喻為:爸爸跟小孩之間的關係。小孩可以去運用爸爸的資源,但是爸爸的工作屬於他自己的不能跟小孩一起分享,
Thumbnail
單一職責原則(Single Responsibility Principle) 里氏替換原則(Liskov Substitution Principle) 依賴反轉原則(Dependence Inversion Principle) 最少知識原則(得墨忒耳定律)(Law Of Demeter)
Thumbnail
單一職責原則(Single Responsibility Principle) 里氏替換原則(Liskov Substitution Principle) 依賴反轉原則(Dependence Inversion Principle) 最少知識原則(得墨忒耳定律)(Law Of Demeter)
Thumbnail
寶寶剛才因爲扶一個置物箱沒扶好, 摔倒在地上, 哭天搶地的, 我馬上一把抱起, 又呼呼, 又親親, 帶寶寶回去地墊玩。 去冰箱拿小冰枕冰敷, 再餵奶, 給固齒器, 弄了好一會兒, 停止哭泣, 也喝了兩口奶, 咬咬固齒器, 我老練的回去繼續沉浸手邊一本灑狗血的書bad blood。 再一抬頭, 對,
Thumbnail
寶寶剛才因爲扶一個置物箱沒扶好, 摔倒在地上, 哭天搶地的, 我馬上一把抱起, 又呼呼, 又親親, 帶寶寶回去地墊玩。 去冰箱拿小冰枕冰敷, 再餵奶, 給固齒器, 弄了好一會兒, 停止哭泣, 也喝了兩口奶, 咬咬固齒器, 我老練的回去繼續沉浸手邊一本灑狗血的書bad blood。 再一抬頭, 對,
Thumbnail
一、「興奮」—聯想到的詞句、形容詞、感覺   看到心目中的偶像 得到夢寐以求的東西 中彩券 暗戀的人回應我的邀請 彩虹立在客廳中 魚站在水上 車子飛起來 花在我面前開了又闔 鳥停在我的手指上 被鯨魚親吻 眼睛張大 聲音高亢 心跳加速 人生是彩色的 都是好人 自己很棒 光明 二、悲哀—聯想到的詞句
Thumbnail
一、「興奮」—聯想到的詞句、形容詞、感覺   看到心目中的偶像 得到夢寐以求的東西 中彩券 暗戀的人回應我的邀請 彩虹立在客廳中 魚站在水上 車子飛起來 花在我面前開了又闔 鳥停在我的手指上 被鯨魚親吻 眼睛張大 聲音高亢 心跳加速 人生是彩色的 都是好人 自己很棒 光明 二、悲哀—聯想到的詞句
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News