什麼是Java的接口?其實接口的概念較爲抽象,能夠理解爲接口是一系列方法和特徵的集合。方法和特徵是類的組成部分,若是從編程的角度而言,Java的接口能夠對應這Java中特定的語法結構。Java接口與Java抽象類是不同的,抽象類能夠實現某些方法,而接口則不能。下面,從接口的概念和功能上進一步詳細描述其存在的意義。算法
那麼Java在類中定義一個接口有什麼意義呢?編程
類所描述的是一個實體,包含試題的狀態和動做。一個實體能發出的動做由接口來定義。那麼在類中對一個藉口來定義,從本質上講,跟在抽象類中定義一個接口同樣,也體現着它的抽象性,即它是能夠變化的。從面向對象的思想來看,要封裝好變化的部分。這可能涉及到的涉及模式:模板涉及模式/命令涉及模式,在這個util類裏面封裝了會改變的Worker,能夠理解爲,util類裏面有本身的算法:一部分是固定的,而另一部分是可變的,尚學堂陳老師指出這個可變的部分就變成了一個接口,接口則是特殊的抽象類,worker可能在不一樣的工做環境有不一樣的工做方式,例如work()、onvaction()等等。
所以在類中定義一個接口是有其必要性的,它表明着一種編程思想,定義接口的目的是讓代碼有更強的可擴展性。安全
那麼爲什麼要定義接口?以及接口有何意義呢?那麼關於接口的意義能夠從如下幾點來進行說明:架構
一、定義接口的重要性:在Java編程,abstract class 和interface是支持抽象類定義的兩種機制。正是因爲這兩種機制的存在,才使得Java成爲面向對象的編程語言。編程語言
二、定義接口有利於代碼的規範:對於一個大型項目而言,架構師每每會對一些主要的接口來進行定義,或者清理一些沒有必要的接口。這樣作的目的一方面是爲了給開發人員一個清晰的指示,告訴他們哪些業務須要實現;同時也能防止因爲開發人員隨意命名而致使的命名不清晰和代碼混亂,影響開發效率。設計
三、有利於對代碼進行維護:好比你要作一個畫板程序,其中裏面有一個面板類,主要負責繪畫功能,而後你就這樣定義了這個類。但是在不久未來,你忽然發現現有的類已經不可以知足須要,而後你又要從新設計這個類,更糟糕是你可能要放棄這個類,那麼其餘地方可能有引用他,這樣修改起來很麻煩。若是你一開始定義一個接口,把繪製功能放在接口裏,而後定義類時實現這個接口,而後你只要用這個接口去引用實現它的類就好了,之後要換的話只不過是引用另外一個類而已,這樣就達到維護、拓展的方便性。對象
四、保證代碼的安全和嚴密:一個好的程序必定符合高內聚低耦合的特徵,那麼實現低耦合,定義接口是一個很好的方法,可以讓系統的功能較好地實現,而不涉及任何具體的實現細節。這樣就比較安全、嚴密一些,這一思想通常在軟件開發中較爲常見。
接口