JAVA接口的使用方法

接口

接口就是多個類的公共規範
接口是一種引用數據類型,最重要的內容就是其中的:抽象方法

如何定義一個接口的格式:

public interface 接口名稱{
//接口內容 }

如果是java 7 那麼接口中可以包含的內容有:
1:常量 (不可改變的量)final static
2:抽象方法

如果是java 8 還可以額外包含:
3:默認方法
4:靜態方法

如果是java 9 還可以額外包含:
5:私有方法


在java中的任何版本,接口都能定義抽象方法

格式:

public abstract 返回值類型 方法名稱(參數列表);
**注意事項:
1:接口當中的抽象方法,修飾符必須是兩個固定的關鍵字:public abstract
2:這兩個關鍵字修飾符,可以選擇性地省略(但是一直存在着,他會自動生成)
3:方法三要素,可以隨意定義**

接口使用步驟:

1:接口不能直接使用,必須有一個實現類來實現該接口

格式:public class 實現類名稱 implements 接口名稱{...}(和繼承差不多)

2:接口的實現必須覆蓋重寫接口中所有的抽象方法
3:創建實現類的對象,進行使用

注意事項:
如果實現類沒有覆蓋重寫接口中所有的抽象方法,那麼這個實現類就必須是抽象類(和繼承抽象類 類似)


接口的默認方法格式

public default 返回值 函數名稱(參數){。。。}

就像在接口裏面定一個【普通方法】

默認方法主要是爲了解決接口升級(也就是接口新出了方法)
例如以前使用接口實現的類,沒有覆蓋重寫新的方法,會引起報錯
但是有了默認方法,以前的接口可以不重寫默認的方法,還可以直接調用和覆蓋重寫

默認方法的調用:
1:接口的默認方法,可以通過結構實現類對象,直接調用
2:接口的默認方法,也可以被接口實現類覆蓋重寫


接口的靜態方法格式

public static 返回值 函數名稱 (參數){...}

注意事項:不能通過接口實現類的對象來調用接口當中的靜態方法

> 正確用法:通過接口名稱,直接調用其中的靜態方法

(靜態方法沒有重寫一說,但可以重寫建立一個,雖然名字一樣但沒有重寫關係)


接口的私有方法格式

privatestatic)返回值類型 方法名稱(參數){。。。}

加static 就是給靜態方法的私有方法

1:普通私有方法,解決多個默認方法之間重複代碼的問題
2:靜態私有方法,解決多個靜態方法直接重複代碼的問題

(私有方法的作用就是隻能給寫私有方法的類或接口自己使用, 不能允許子類實例化對象使用,也不能允許實現類使用)


接口中的常量:

接口當中也可以定義“成員變量”,但是必須使用public static final 三個關鍵詞進行修飾 從效果上來看,這其實就是接口的常量

一旦使用final關鍵詞進行修飾,說明不可改變

注意事項:
1:接口當中的常量,可以省略public static final
2:接口當中的常量必須賦值,不能不賦值
3:接口中的常量名稱要全部大寫

總體注意事項:

1:接口不能要靜態代碼塊 和 構造方法
2:一個類可以實現多個接口
3:如果實現類所實現的多個接口中,抽象方法重複,那麼只需覆蓋重寫一個抽象方法即可
4:如果實現類沒有覆蓋重寫所有抽象方法,那實現類必須是一個抽象方法
5:如果實現類所實現的多個接口中,默認方法重複,那就必須重寫默認方法
6:如果一個實現類,繼承父類的方法和接口的方法重複,優先使用父類當中的方法

類與接口 叫做實現,(可以多實現)
類與類 叫繼承 (不能多繼承)
接口和接口 叫繼承(可以多繼承)

接口和接口的多繼承注意事項:

  • 多個接口的抽象方法重複,沒關係

  • 多個接口的默認方法重複,必須重寫

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章