java基礎之介面

2021-08-04 06:07:49 字數 1519 閱讀 1354

介面是一種型別,和抽象類普通類一樣,也有包的概念。

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...