一個接口能繼承另一個接口,和類之間的繼承方式比較相似。接口的繼承使用extends關(guān)鍵字,子接口繼承父接口的方法。
下面的Sports接口被Hockey和Football接口繼承:
// 文件名: Sports.java public interface Sports { public void setHomeTeam(String name); public void setVisitingTeam(String name); } // 文件名: Football.java public interface Football extends Sports { public void homeTeamScored(int points); public void visitingTeamScored(int points); public void endOfQuarter(int quarter); } // 文件名: Hockey.java public interface Hockey extends Sports { public void homeGoalScored(); public void visitingGoalScored(); public void endOfPeriod(int period); public void overtimePeriod(int ot); }
Hockey接口自己聲明了四個方法,從Sports接口繼承了兩個方法,這樣,實現(xiàn)Hockey接口的類需要實現(xiàn)六個方法。
相似的,實現(xiàn)Football接口的類需要實現(xiàn)五個方法,其中兩個來自于Sports接口。
在Java中,類的多重繼承是不合法,但接口允許多重繼承,。
在接口的多重繼承中extends關(guān)鍵字只需要使用一次,在其后跟著繼承接口。 如下所示:
public interface Hockey extends Sports, Event
以上的程序片段是合法定義的子接口,與類不同的是,接口允許多重繼承,而 Sports及 Event 可能定義或是繼承相同的方法
最常用的繼承接口是沒有包含任何方法的接口。
標識接口是沒有任何方法和屬性的接口.它僅僅表明它的類屬于一個特定的類型,供其他代碼來測試允許做一些事情。
標識接口作用:簡單形象的說就是給某個對象打個標(蓋個戳),使對象擁有某個或某些特權(quán)。
例如:java.awt.event包中的MouseListener接口繼承的java.util.EventListener接口定義如下:
package java.util; public interface EventListener {}
沒有任何方法的接口被稱為標記接口。標記接口主要用于以下兩種目的:
正如EventListener接口,這是由幾十個其他接口擴展的Java API,你可以使用一個標記接口來建立一組接口的父接口。例如:當一個接口繼承了EventListener接口,Java虛擬機(JVM)就知道該接口將要被用于一個事件的代理方案。
這種情況是標記接口最初的目的,實現(xiàn)標記接口的類不需要定義任何接口方法(因為標記接口根本就沒有方法),但是該類通過多態(tài)性變成一個接口類型。
2015職稱計算機考試書PowerPoint2007中 .. 定價:¥45 優(yōu)惠價:¥42 更多書籍 | |
2015年全國職稱計算機考試教材(2007模 .. 定價:¥225 優(yōu)惠價:¥213 更多書籍 |