首頁  >  文章  >  Java  >  專案透過其介面引用對象

專案透過其介面引用對象

Linda Hamilton
Linda Hamilton原創
2024-10-25 09:42:02178瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn