日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 面向接口编程的理解

發布時間:2025/5/22 编程问答 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 面向接口编程的理解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

初學者可能在學習中會有很多疑惑,為什么要這樣,明明可以那樣實現,這樣做的好處又是什么?

可能會的人覺得很簡單很容易理解,甚至可能覺得問的問題很智障,但對于小白來說可能是苦思冥想都不得其解的。

自己身為初學者也深知初學者的不易,很多問題網上沒有很明確的答案。

自己遇到什么問題想出來后就寫下,也為了便于后來人,畢竟前人種樹后人乘涼。

?

初看容器時,有很多疑問,為什么都用接口作為類型去實現?(List<lnteger> l = new ArrayList<>())

而不直接這樣寫?(ArrayList <Integer> i = new ArrayList<>())

?

我說一下我這個初學者的理解,如有錯誤之處還望指出,不勝感謝!

?

這時就可以把A接口看做是一種要完成的A功能的規范,實現它的A1類是完成A功能的一種方法,A2類也是完成A功能的一種方法。

然后再我們需要實現A功能時,我們需要根據具體情況的不同,采用不同的方法去實現這個功能。

這個思想更符合我們日常面向對象的思想,先想需要完成什么功能,再想怎么完成這個功能(根據當前情況選擇合適的方法去完成)。

?

例如我這里需要存儲有序的數據,那我們先想如何實現這個功能,當然是List接口。

然后根據我當前的具體情況再想,List接口下那個類更適合當前情況。

是數組(ArrayList),還是鏈表(LinkedList)方式存儲?

這需要結合這兩種存放方式的優缺點和當前具體需求去決定。

?

舉個更加通俗的例子:

假如我定義一個接口的功能是去圖書館,我再定義幾個實現該接口的

有教學樓到去圖書館的,有食堂去圖書館的,還有寢室去圖書館的

然后我們思考時是先想做什么?去圖書館,這就確定了接口去圖書館接口

然后我們再想怎么去,由于各個人的所在位置的不同,我們就需要根據當前所在位置的具體情況

去調用合適的,我在寢室就用寢室去圖書館的,我在食堂就調用食堂去圖書館的

?

假如學校擴大了,多了幾個分校區。去圖書館這個接口我們不需要改動。

只需要添加一個實現了(去圖書館接口)的(分校區去圖書館的類)就可以了。(類實現接口)

這樣一個具體的功能確定了,即使后來有新的情況需要完成這個功能,我們只需要添加新的類就可以了。

因為功能的確立基本是不變的,是具有普適性的。

?

接口是一個抽象的廣泛的概念,更像是一種宏觀上的東西。

先確定好宏觀層面的東西(接口),然后再想微觀上具體如何實現(實現該接口的類),后續有新的微觀可以直接加入,因為這個微觀也是從屬于這個宏觀的。

轉載于:https://www.cnblogs.com/huang-changfan/p/9613971.html

總結

以上是生活随笔為你收集整理的java 面向接口编程的理解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。