接口概念
Java接口是一系列方法的聲明,是一些方法特徵的集合,一個接口只有方法的特徵沒有方法的實現,因此這些方法可以在不同的地方被不同的類實現,而這些實現可以具有不同的行爲(功能)。
接口可以理解爲一種特殊的類,裏面全部是由全局常量和公共的抽象方法所組成。接口類似於C++裏的基類,多個派生類繼承它的變量和函數,不同的是接口只有方法聲明,不能有具體的實現,而基類可以有部分方法的具體實現。
接口的語法實現
我們使用interface這個關鍵字來聲明一個接口。
接口中的所有方法都只能聲明方法標識,不能實現具體的方法體。具體的方法體的實現由繼承該接口的類去實現。
接口中的屬性默認爲Public Static Final。一個類實現這個接口必須實現這個接口中定義的所有的抽象方法。
example
一個接口in1
,擁有全局變量和抽象方法:
一個繼承該接口的類testClass
,使用implements關鍵詞指明實現接口in1
:
只有把接口in1
規定的所有抽象方法都實現了,才認爲testClass
類實現了接口in1
。由於testClass
已經把in1
裏的抽象方法display()
實現了,所以可以認爲testClass
類實現了接口in1
。
在main函數裏測試一下我們剛纔實現的這個接口:
可以看到,實際使用的是實現接口的類testClass
,而不是直接調用接口。
參考博客還給出以上代碼的在線ide運行網址:https://ide.geeksforgeeks.org/9MpGUQC5uc
此外還有另一個例子:https://ide.geeksforgeeks.org/ONQ6pbZ4mP,其中定義了一個USB接口,以及一個U盤類和一個鍵盤類各自實現這個接口,再調用這兩個類來測試實現的效果。