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中的多繼承僅適用於接口,類沒有多繼承,只有單繼承


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM