接口就是一種公共的規范標準。只要符合規范標準,都可以使用。
A、B、C extends D
,A和B有一個共同的行為e,但C沒有行為e,如果在A和B里分別定義行為e將無法限制定義的規則(方法名,參數),采用多態調用行為e時不方便。此時就可以將行為e定義為一個接口。接口是一種規則,體現在對行為的抽象
關鍵字:interface
public interface 接口名 {...}
2 接口的特點
2.1 類實現接口接口和類是實現關系,可以單實現,也可以多實現。
關鍵字:implements
public class 類名 implements 接口名1, 接口名2, ... {}
2.2 接口實例化接口不能直接實例化
如何實例化?
接口名 變量 = new 實現類名();
// 前提是:類已經實現接口
2.3 接口的實現類想要成為接口的實現類:
要么重寫接口的所有抽象方法
要么本身也是個抽象類
只能是常量
因為有默認修飾符public static final
//公共的靜態的最終的
public interface Inter {//在接口里定義成員變量時
int num = 10;
//java會給加上默認修飾符public static final,如下
public static final int num = 10;
}
3.2 構造方法接口沒有構造方法
只能是抽象方法
因為有默認修飾符public abstract
//公共的抽象的
public interface Inter {//在接口里定義成員方法時
void show();
//java會給加上默認修飾符public abstract,如下
public abstract void show();
}
4 類繼承和實現后創建對象的區別public abstract class Animal {public abstract void eat();
}
interface Jumpping {public abstract void jump();
}
//Cat類繼承了Animal類,并實現了Jummping接口
class Cat extends Animal implements Jumpping {public abstract void eat() {System.out.println("貓吃魚");
}
public abstract void jump() {System.out.println("貓跳的高");
}
}
4.1 用父類創建對象只能使用父類中的方法
Animal a = new Cat();
a.jump(); //報錯,jump方法是接口中的
4.2 用接口創建對象只能使用接口中的方法
Jumpping j = new Cat();
j.eat(); //報錯,eat方法是Animal中的
4.3 用具體類創建對象可以同時使用父類和接口中的方法
Cat c = new Cat();
c.jump();
c.eat();
5 類和接口之間的關系關系 | 關系說明 | |
---|---|---|
類和類 | 繼承 | 只能單繼承,不能多繼承,但是可以多層繼承 |
類和接口 | 實現 | 可以單實現、多實現,也可以繼承一個類的同時實現多個接口 |
接口和接口 | 繼承 | 可以單繼承,也可以多繼承 |
其他說明:
JDK8以后接口中新增的方法,
作用: 解決接口升級后不兼容的問題
關鍵字:default
public default 返回值類型 方法名(參數) {...}
注意:
JDK8以后接口中新增的方法
關鍵字:static
public static 返回值類型 方法名(參數) {...}
注意:
JDK9以后接口中新增的方法
作用: 將只為接口服務的方法設置為私有,不讓外類訪問
為默認方法服務的私有方法:
private 返回值類型 方法名(參數) {...}
為靜態方法服務的私有方法:
private static 返回值類型 方法名(參數) {...}
你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧
本文標題:第18講接口-創新互聯
本文網址:http://vcdvsql.cn/article38/jgspp.html
成都網站建設公司_創新互聯,為您提供網站策劃、商城網站、網站內鏈、面包屑導航、ChatGPT、服務器托管
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯