java 接口的做用:java
接口的最主要的做用是達到統一訪問,就是在建立對象的時候用接口建立,【接口名】 【對象名】=new 【實現接口的類】,這樣你像用哪一個類的對象就能夠new哪一個對象了,不須要改原來的代碼,就和你的USB接口同樣,插什麼讀什麼,就是這個原理。就像你問的,都有個method1的方法,若是我用接口,我上面就能夠one.method1();是吧?那樣我new a();就是用a的方法,new b()就是用b的方法
這樣不方便嗎?
這個就叫統一訪問,由於你實現這個接口的類的方法名相同,可是實現內容不一樣
我用接口來定義對象不就能夠作到統一訪問了嗎?接口主要針對多個類實現它來講的,要是隻有一個類固然能夠不用接口了.你這樣想,我作一個USB接口,有個read()抽象方法,而後mp3類實現,U盤類實現,移動硬盤類實現,這樣我用的時候用USB a=new 【類名】;這樣a.read();要是我類名裏寫U盤,就讀U盤,寫mp3就讀mp3,而這個名字能夠從屬性文件裏讀,你寫哪一個就用哪一個了,呵呵。數據庫
「接口+實現」最多見的優點就是實現類和接口分離,在更換實現類的時候,不用更換接口功能。
接口在開發過程當中能夠快速分離工做內容。
好比調用者在寫業務邏輯的時候須要一個功能,多是數據庫訪問,或者複雜計算,可是他的工做專一於實現業務邏輯,不想分開精力去作底層實現,那麼他只須要先實現一個接口,定義了規範,而後就能夠繼續他的業務邏輯代碼了。
而實現者能夠根據這個接口規範,作具體的實現。
這樣經過使用接口就能夠快速的分離工做內容,達到團隊並行工做的目的。
此外,若是規範是經過接口定義的,那麼當你這個功能有多個實現時,你只要實現了這個接口,那麼能夠快速的替換具體實現,作到代碼層面的徹底能夠分離。
總結起來就一句話:接口或者規範能夠在開發過程當中作到分離。設計
原文地址:https://www.zhihu.com/question/20111251對象
接口每每定義的是一些方法、行爲,在設計原則裏面有一條「單一職責「的原則,接口的做用只是提供一些方法、行爲給你,它是不關心你是怎麼使用的。就像電腦提供的USB接口,咱們不須要關心這個USB接口是怎麼實現的,咱們只須要一個可以使用這個USB接口的設備就好了。
接口的第二做用是能夠實現多態接口