Java多態就是爲了下降耦合,方便咱們開發的一種特性。java
好比我寫了一個動物的接口。而後我經過接口實現了貓和狗這個類。工具
在我須要使用的時候我能夠這樣實例化對象開發工具
動物 w = new 貓。.net
這就是向上轉型。對象
這裏就有一點疑問了,咱們開發人員爲啥不直接寫個貓和狗的類。爲啥恰恰要寫一個接口。這不是在畫蛇添足嗎?blog
下面就我我的理解,僅供參考。接口
java是什麼,是一個面向對象的工程型語言。這意味着啥,這意味着咱們可能幾十我的,或者幾百我的一塊兒開發同一個項目。開發
一我的有一個本身的開發習慣,若是咱們全部人開發人根據需求,本身搞本身的代碼塊或者功能。那萬一咱們幾十我的寫完了發現,我靠,怎麼代碼合在一塊兒的時候怎麼處處都是錯(變量,方法名不一致等等),程序跑不動了呀。get
這樣一搞,說個屁,效率多低呀。不行,不能這樣搞開發。效率
而後就要有個開發項目的規範,剛纔說了,每一個開發人員有本身的開發習慣,那怎麼規範嘛?這時候,就須要大佬上場了。誰來當老大嘛,沒辦法,就找那個頭髮最少的,寫代碼寫的最多的人來當標準吧。
這樣也能夠服衆,畢竟人家是前輩,人家代碼寫的多,把他來當標準,沒啥問題。
那麼問題來了,具體怎麼規範呢?這時候就須要接口這個概念了。
那個頭髮最少的大佬,來寫項目的規範(接口),那些接口裏面有咱們普通開發人員必需要實現的方法和變量。
打個比方我是這個大佬(小聲bb),我寫個接口,而後別人來實現個人接口。這時候別人所實現的接口的方法名和重要變量名全是我說了算,我喜歡駝峯規則的命名,他實現的時候一個字母都不能改。若是改了,當時開發工具就會提醒你在亂搞,就會報錯就能夠及時糾正。不像開始那樣,一我的喜歡用駝峯英文,另外一我的喜歡拼音。本身搞的時候沒問題啊,結果到最後和別人的代碼一塊兒的時候就錯了,這個就容易出問題。效率過低了。
因此在我看來,接口就是大佬發給普通開發人員的任務列表,接口裏面的方法就是開發人員須要去作的任務。必須完成,否則沒工資。若是你本身去找任務作,不看個人任務列表(接口)。結果出問題領不到工資,這但是你的責任,賴不着團隊。搞很差團隊還要找你麻煩,耽誤咱們開發進度。
這就是我對接口的理解。
接口的做用在於大項目的多人協同開發,能夠分工和最後統一代碼。你來實現這個接口,我來實現這個接口(分工),最後上交工做成果的時候,大佬一看,嗯,是服從的個人開發規範,按道理是不會出問題的。
固然,你本身一我的或者人少的時候寫小項目,不用接口,也是能夠的啊。沒問題。
參考連接:https://blog.csdn.net/qq_43345641/article/details/90006399