java中的多繼承

衆所周知,java面嚮對象語言中只有單繼承的編程語言,也許你會說,通過實現多個接口這種變通的方式達到多繼承的目的。沒錯,你說的對,不過這並不是本片文章要說到的內容,本文要講到的內容是java中實實在在存在的多繼承結構,廢話不多說了,咱們進入主題吧。
其實,說起繼承關係,大家的第一印象肯定是類的繼承,就java而言,類的繼承的的確確是單繼承的,就這點而言,毋庸置疑,java的語法和編譯器將這一點限制的死死的,假設你試圖讓一個類通過extends關鍵字繼承一個以上的父類,編譯一定通過不過得。

這裏說的多繼承是接口的多繼承,我們知道類在實現接口時,通過implements關鍵字來使用和實現多個接口。擴展性java的一個重要的特性,若果我們想對已有的多個接口進行擴展,因爲不是實現接口,就不能使用implements關鍵字,那怎麼辦呢,那就只能使用extends關鍵字了。下面看代碼:

package com.lib.ThinkInJava.mutilExtends;
public interface Lethal {
    void kill();
}

package com.lib.ThinkInJava.mutilExtends;
public interface Monster {
    void destroy();
}

package com.lib.ThinkInJava.mutilExtends;
public interface Vampire extends Monster, Lethal {
    void drinkBlood();
}

Vampire接口繼承了Monster,Lethal倆個接口,而且使用了關鍵字extends,在編譯器中也沒有報錯,是不是很有意思,這就是java中的多繼承。

注:java中的多繼承僅適用於接口,類沒有多繼承,只有單繼承

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