Java中介面的學習
一.定義介面
二.使用介面
三.將介面作為型別使用
四.重寫介面
1.在 Java 程式設計語言中,介面是一個引用型別,與類相似,所以可以在程式中定義並使用一個介面
型別的變數。
在介面中只能包含有常量、方法簽名和巢狀型別,它沒有構造器。在介面中宣告的方法,沒有方法
體。因為介面沒有構造器,所以它不能被例項化,它只能被類所實現或者被另外的介面所繼承。
2.Java中可以使用關鍵字 class,interface,implements。對於interface
後跟介面的名稱。介面的名稱同樣要遵循 Java 識別符號命名規則。
3.怎麼使用一個介面?
(1)介面是要被類來實現的。所謂介面的實現,實際上就是要實現介面中宣告的方法。
(2)在一個類的方法名後面,使用關鍵字implements,後跟介面名稱,用以指明該類所實現的介面。
(3)如果一個類實現一個介面,那麼它必須實現該介面中所有的方法。
4.介面的繼承
介面支援多繼承
類只支援單繼承
5.實現多個介面
一個類可以實現多個介面,這時需要在關鍵字implements後跟介面名稱列表。
在 Java 中規定,一個類雖然只能繼承自一個父類,但它可以實現多個介面。當實現多個介面時,物件可以同時具有多個型別:
(1)自身所屬類的型別。
(2)其所實現的所有介面的型別。
6.介面的宣告
(1)修飾符:可選,用於指定介面的訪問許可權,可選值為 public。如果省略,則使用預設的訪問權
限,既只能在當前的軟體包中使用。換句話說,宣告介面時,關鍵字 interface 前面要麼是修飾
符 public,要麼什麼都沒有,而不能使用 protected 或 private 關鍵字。
(2)interface:必選,定義介面的關鍵字。
(3)介面名稱:必選,用於指定介面的名稱。介面名必須是合法的 Java 識別符號。一般情況下,要求
介面名稱的首字母大寫。
(4)extends 父介面名稱列表:可選,用於指定該介面繼承自哪個父口。當使用 extends 關鍵字時,父介面名稱為必選引數。介面可以是多繼承的,既一個介面可以有任意多個父介面。在介面的宣告中,包括有其所有父介面的一個列表,用逗號分隔。
7.實現介面
要宣告一個實現介面的類,需要在類的宣告中使用 implements 短語。一個類可以實現多個介面,所以 implements 關鍵字後面要跟一個被類實現的介面列表,用逗號分隔符分隔。
8.實現多個介面的時的常量和方法衝突問題
在 Java 中,每個類實現多個介面,每個介面使用逗號分隔符分隔。這時就有可能出現常量或方法名衝突的情況。
例如,一個類實現兩個介面,兩個介面中都宣告瞭相同名稱的常量或相同名稱的方法,那麼在實現這兩個介面的類中,引用常量或實現方法時,就不明確是哪個介面中的。要解決這類衝突問題時,如果是常量衝突,則需要在類中使用全限定名(介面名稱.常量名稱)明確指定常量所屬的介面。如果是方法衝突,則只需要實現一個方法就可以了。
9.將介面當作型別來使用
當定義一個新的介面時,就是定義一個新的引用資料型別。凡是在任何能夠使用其他資料型別名稱的地方,也可以使用介面名稱。如同其他資料型別一樣,可以定義一個介面型別的引用變數。
如果定義一個介面型別的引用變數,那麼,賦給這個變數的任何物件就必須是實現這個介面的類的一個例項。例如,在下面的示例方法中,用來在兩個物件中查詢最大的那個物件。
10.介面的改寫
一個介面被宣告以後,有可能因為某種原因,需要改變介面中宣告的方法(如增加新的方法、改變方法體的實現等)。
總的來說,定義介面需要使用關鍵字 interface,在類中實現介面需要使用關鍵implements。
當一個物件實現某個介面時,它既可以是自身類(或超類)的型別,也可以是一個該介面型別
相關文章
- java學習之道 --- 如何學習java?Java
- Java學設計模式之中介者模式Java設計模式
- 一文帶你認識Java8中介面的預設方法Java
- 中介軟體漏洞攻防學習總結
- 設計模式學習(十八)中介者模式設計模式
- Django學習筆記(15)——中介軟體Django筆記
- ICML 2018 | 模型層面的對偶學習模型
- 分散式系統中介面的冪等性分散式
- 學習Node須知——中介軟體框架Connect框架
- Java學習Java
- Java學習自學Java
- Java學習之路 -- Java怎麼學?Java
- 介面的使用(Java)Java
- 學會Java可以從事哪些方面的工作?Java
- 《JAVA學習指南》學習筆記Java筆記
- Egg入門學習(三)---理解中介軟體作用
- 訊息中介軟體-kafka學習筆記一Kafka筆記
- Java學習—java-RedisJavaRedis
- Java學習:反射Java反射
- Java學習方法Java
- 如何學習JavaJava
- java學習之路Java
- java學習11.12Java
- java學習11.15Java
- java學習10.17Java
- java學習10.23Java
- Java學習11.14Java
- java學習11.18Java
- java學習11.19Java
- java學習11.25Java
- java學習11.29Java
- java學習9.21Java
- java學習7Java
- Java學習(3)Java
- JAVA JNDI學習Java
- java學習11.22Java
- java學習9.13Java
- java學習06Java
- java學習03Java