首頁 > Java > java教程 > 主體

專案透過其介面引用對象

Linda Hamilton
發布: 2024-10-25 09:42:02
原創
186 人瀏覽過

Item  Referencie os objetos através das interfaces deles

優先選擇介面作為引用類型:
如果存在合適的接口,您應該透過它引用對象而不是具體類別。
這適用於參數、傳回值、變數和欄位。

使用介面時的彈性:
使用介面允許您更改實作而不影響程式碼。
範例:從 LinkedHashSet 變更為 HashSet 或 TreeSet,只需更改建構子即可。

何時不使用介面:
特定實現的功能:
如果實作提供了介面不需要的東西(例如 LinkedHashSet 保證迭代順序,但 HashSet 不保證)。

沒有適當的介面:
有些類別如 String 或 BigInteger 沒有等效的接口,必須直接使用。

基於類別的框架:
範例:java.io套件中的OutputStream是透過抽象類別引用的,而不是介面。

特定實現的方法:
範例:PriorityQueue 實作了 Queue,但 Queue 中沒有 comparator() 方法。僅當您需要此額外方法時才使用該類別。

好處:
使用介面使程式更加靈活和模組化,使您可以輕鬆更改實現而不破壞現有程式碼。

程式碼範例
很好的例子:使用介面作為類型

Set<String> s = new LinkedHashSet<>();

登入後複製

壞例子:使用具體類別作為類型

LinkedHashSet<String> s = new LinkedHashSet<>();

登入後複製

靈活性:更改實作而不影響程式碼

Set<String> s = new TreeSet<>();

登入後複製

使用 String 這樣的 Final 類別的範例

String str = "Hello";

登入後複製

使用框架基底類別的範例

OutputStream output = new FileOutputStream("file.txt");

登入後複製

以上是專案透過其介面引用對象的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!