1.什么是接口
有時必須從幾個父類中派生出一個子類,繼承他們的方法。但是java不支持多重繼承,于是接口就實現(xiàn)了該效果。
2.定義格式
- 接口是java的一種引用類型,是方法的集合。如果說類的內(nèi)部封裝了成員屬性,構(gòu)造方法,成員方法。那么接口內(nèi)部主要是封裝了方法,抽象方法,默認方法,靜態(tài)方法,私有方法
[修飾符] interface 接口名 {
//接口的成員列表:
// 靜態(tài)常量
// 抽象方法
// 默認方法
// 靜態(tài)方法
// 私有方法
}
// =========實例==========
interface Flyable{
//靜態(tài)常量
long MAX_SPEED = 7900000;//這里單位是毫米/秒,7.9千米/秒,超過這個速度,就變成衛(wèi)星
//抽象方法
void fly();
//默認方法
public default void start(){
System.out.println("開始");
}
public default void stop(){
System.out.println("結(jié)束");
}
//靜態(tài)方法
public static void broken(){
System.out.println("飛行中遇到物體就壞了");
}
}
3.思考
為什么JDK1.8之后要允許接口定義靜態(tài)方法和默認方法呢?
4.實現(xiàn)接口
- 接口的使用,他不能創(chuàng)建對象,但可以被實現(xiàn)(implements,類似被實現(xiàn))
- 類與接口的關(guān)系為實現(xiàn)關(guān)系,類實現(xiàn)接口,
[修飾符] class 實現(xiàn)類 implements 接口 {
// 必須重寫抽象方法
// 可選 重寫默認方法也可以直接調(diào)用
// 不能重寫靜態(tài)方法
}