java中介面的意義

laughitover發表於2017-03-30

之前感覺都明白了,但是過了一段時間,特別是在公司寫了一個專案,又困惑了,還是整理一下記錄下來吧

簡單地說:介面的作用就是把使用介面的人和實現介面的人分開,實現介面的人不必要關心誰去使用,而使用介面的人也不用關心實現的細節。

4點關於JAVA中介面存在的意義:

  1、重要性:在Java語言中, abstract class 和interface 是支援抽象類定義的兩種機制。正是由於這兩種機制的存在,才賦予了Java強大的 物件導向能力。

  2、簡單、規範性:如果一個專案比較龐大,那麼就需要一個能理清所有業務的架構師來定義一些主要的介面,這些介面不僅告訴開發人員你需要實現那些業務,而且也將命名規範限制住了(防止一些開發人員隨便命名導致別的程式設計師無法看明白)。

  3、維護、擴充性:比如有一個類,實現了某個功能,突然有一天,發現這個類滿足不了需求了,然後又要重新設計這個類,更糟糕是你可能要放棄這個類,那麼其他地方可能有引用他,這樣修改起來很麻煩。

     如果一開始定義一個介面,把功能放在介面裡,然後定義類時實現這個介面,然後只要用這個介面去引用實現它的類就行了,以後要換的話只不過是引用另一個類而已,這樣就達到維護、擴充的方便性。比如有個method1的方法,如果用介面,【介面名】 【物件名】=new 【實現介面的類】,這樣想用哪個類的物件就可以new哪個物件了,new a();就是用a的方法,new b()就是用b的方法,就和USB介面一樣,插什麼讀什麼,就是這個原理。

你要做一個畫板程式,其中裡面有一個皮膚類,主要負責繪畫功能,然後你就這樣定義了這個類。

  4、安全、嚴密性:介面是實現軟體鬆耦合的重要手段,它描敘了系統對外的所有服務,而不涉及任何具體的實現細節。這樣就比較安全、嚴密一些(一般軟體服務商考慮的比較多,jdk中很多方法就是實現了某個介面)。

帶程式碼的講解:Java 介面(interface)的用途和好處


相關文章