介面是一種型別,和抽象類普通類一樣,也有包的概念。
1、介面是什麼?
生活中,usb(傳輸資料,充電),指紋(解鎖,支付),wifi(傳輸資料,上網)就是介面!!
簡單理解介面:就是描述了一套
抽象功能的集合,就是能完成的事情,但是不做實現!!!
2、抽象類介面對比
抽象類:部分實現+部分抽象
介面: 全部抽象(公共抽象方法、公共靜態常量資料)
注意!介面:只是描述成員功能,不描述成員資料。
3、超型別定義為抽象類還是介面?怎麼選擇?
抽象類: 子類是什麼(抽象類),有資料也有功能,有抽象有實現,子類只能繼承乙個類
介面:子類能做什麼,有什麼功能(介面),只有抽象功能,子類可以實現多個介面
4、 怎麼使用介面
* * 定義介面的語法
* 位置:與類和其他介面同級別
* inte***ce 介面名
* 公共的靜態的常量的語法:
* public static final 資料型別 常量名[=值]...;
* 注意點:【public static final】可以不寫,不寫,預設加上
* * 公共的抽象的方法的語法:
* public abstract 返回值型別 方法名(引數列表);
* 注意點:【public abstract】可以不寫,不寫,預設加上
* *
* 有介面之後型別之間的關係
* * 1)類和類:類可以單繼承類,繼承之後,子類可以獲取超型別(類)的【功能和資料】
* 語法:
* class 子類 [ extends 父類]{}
* 2)類和介面:類可以多實現介面,實現之後,子類可以獲取超型別(介面)的【功能】
* 語法:
* class 子類 [ extends 父類][implements 父介面1,父介面2... ]{}
* 3)介面和介面:介面可以多繼承介面,繼承之後,子介面可以獲取超型別(介面)的【功能】
* 語法:
* inte***ce 子介面 [ extends 父介面1,父介面2...]{}
5、加入介面之後,型別之間的超型別和子型別的關係
* *
* 類:ca,cb,cd,ce
* * 介面:ia,ib,ic,id,ie
* * 類和類的關係:
* ca,cb繼承cd類
* * 類和介面的關係
* cd類實現了ia,ib,ic介面
* ce類實現了ic介面
* * 介面和介面的關係
* ic介面繼承了id,ie介面
* * 超型別和子型別的關係--》畫圖分析
* * a)
* 假設ie為超型別:
* -》子型別:ic,ce,cd,ca,cb
* * b)
* 假設ce為子型別:
* -》超型別:ic,id,ie
* * 多型裡語法--》超型別引用 可以指向 子型別的物件
* -》介面同樣使用
java基礎之介面
雖然我在學習的過程中很少寫過inte ce,但是卻經常使用到implements,來讓寫的類遵循某個特定的介面。學習inte ce,首先我們還是先來了解一下抽象類吧 抽象方法 僅由宣告,沒有方法體的方法。包含抽象方法的類叫做抽象類,如果乙個類包含乙個或者多個抽象方法,則該類必須為抽象類,然而抽象類不...
Java基礎之介面概念
介面的概念 1 介面是一組行為的規範 定義,沒有實現 jdk1.8預設方法 2 使用介面,可以讓我們的程式更加利於變化 3 介面是物件導向程式設計體系中的思想精髓之一 4 物件導向設計法則 基於介面程式設計 介面的定義格式 inte ce 介面名稱 示列 inte ce ieat inte ce i...
java 基礎 介面
提到介面就不得不說介面和抽象類的區別,1 介面是公開的,裡面不能有私有的方法和變數,而抽象類可以有 2 介面裡面的必須都是抽象方法,不過預設狀態下就是abstract型別,不必刻意去定義 3 實現介面時,一定要實現介面裡所定義的所有方法,而繼承抽象類不必要都實現 4 介面可以實現多重繼承,只要在im...