什麼是接口,接口的作用
java接口是一系列方法的聲明,是一些方法特徵的集合,接口只有方法的特徵沒有方法的實現。
接口可以提供符合接口需求的類的一套規範(其實感覺就是一個招牌),主要作用是可以幫助實現類似於類的多重繼承的功能。
主要體現:
1) 通過接口去實現不相關類的行爲,而不需要了解對象所對應的類。
2) 通過接口可以指明多個類需要實現的方法。
3) 在很大程度上放寬了操作的類之間的耦合性,便於編寫複用性強的代碼。
抽象類與接口的區別
在瞭解抽象類和接口的關係之前,我們應該瞭解什麼是抽象類。
抽象類:包含抽象方法的類,用來表徵對問題領域進行分析、設計中得出的抽象概念,是對一系列看上去不同,但是本質上相同的具體概念的抽象。(籠統的說一下吧!)。
接口和抽象類的概念不一樣。接口是對對象動作(功能)的抽象,抽象類是對對象表徵的抽象。抽象類表示的是,這個對象是什麼。接口表示的是,這個對象能做什麼。
總結(此處並非個人總結,有些是引用了別人的):
1、抽象類和接口都不能直接實例化,如果要實例化,抽象類變量必須指向實現所有抽象方法的子類對象,接口變量必須指向實現所有接口方法的類對象。
2、抽象類要被子類繼承,接口要被類實現。
3、接口只能做方法申明,抽象類中可以做方法申明,也可以做方法實現
4、接口裏定義的變量只能是公共的靜態的常量,抽象類中的變量是普通變量。
5、抽象類裏的抽象方法必須全部被子類所實現,如果子類不能全部實現父類抽象方法,那麼該子類只能是抽象類。同樣,一個實現接口的時候,如不能全部實現接口方 法,那麼該類也只能爲抽象類。
6、抽象方法只能申明,不能實現,接口是設計的結果 ,抽象類是重構的結果
7、抽象類裏可以沒有抽象方法
8、如果一個類裏有抽象方法,那麼這個類只能是抽象類
9、抽象方法要被實現,所以不能是靜態的,也不能是私有的。
10、接口可繼承接口,並可多繼承接口,但類只能單根繼承。
適配接口
接口允許同一個接口具有多個不同的具體實現
接口中的域
放入接口中的任何域都自動是static和final的,所以接口就成爲了一種很便捷的用來創建常量組的工具。