1、在java中接口是一種特殊的抽象類。跟一般的抽象類相比,接口裡面的所有方法都是抽象方法,接口口裡面的所有屬性都是常量。也就是說,接口裡面只有方法定義而沒有任何方法實現。上面所說的是接口的概念。
2、接口用來幹什麼
通常用接口來定義實現類的外觀,也就是實現類的行為定義。用來約束實現類的行為。接口就相當於一份契約,根據外部應用需要的功能,約定了實現類應該要實現的功能,但是具體的實現類除了實現接口約定的功能外,還可以根據需要實現其他一些功能。這是允許的。他就是說實現類的功能包含但不僅限於接口約束功能。
通過使用接口,可以實現不相關類的相同行為,而不需要考慮這些類之間的層次關係,接口就是實現類對外的外觀。
3、接口的思想
根據接口的作用和用途,濃縮下來,接口的思想就是"封裝隔離"。
通常提到的封裝是指對數據的封裝,但是這裡的封裝是指"對被隔離體的行為的封裝",或者是"對被隔離體的職責的封裝":而隔離指的是外部調用和內部實現,外部調用只能通過接口進行調用,外部調用是不知道內部具體實現的,也就是說外部調用和內部實現是被接口隔離開的。
4、使用接口的處
由於外部調用和內部實現被接口隔離開了,那麼只要接口不變。內部實現的變化就不會影響到外部應用。從而使得系統更靈活,具有更好的擴展性。這也是所謂"接口是系統可插拔性的保證"這句話的意思。
對於它們的選擇,在開發中是一個很重要的問題,特別總結兩句話給大家:
# 優先選用接口
# 在既要定義子類的行為,又要為子類提供公共的功能時應選擇抽象類。
以上只代表個人關點,喜歡的朋友點讚.加關注。有寫錯的地方請多多包涵。