多態性:探索「List list = new ArrayList」與「ArrayList list = new ArrayList」
使用Java 集合時,一出現常見問題:您應該聲明具有特定實作類型(例如ArrayList)還是介面類型(例如List)的變數?雖然這兩種方法在理論上都是有效的,但使用介面 (List) 相對於具體實作 (ArrayList) 具有明顯的優勢。
使用「List list = new ArrayList」的原因
範例:
考慮以下內容code:
<code class="java">List<String> names = new ArrayList<>(); names.add("John"); names.add("Mary");</code>
在此範例中,變數名稱被宣告為字串清單。它被指派了一個 ArrayList 實例,這是 List 介面的一種實作。但是,由於 name 被聲明為 List,因此如果需要,我們可以輕鬆地將 ArrayList 替換為其他實現,例如 LinkedList。
結論
使用特定實作時類型(例如ArrayList)可能看起來很簡單,採用基於介面的方法(例如List)在解耦、靈活性和面向未來方面提供了顯著的優勢。透過採用多態性,您可以使程式碼能夠優雅地適應資料結構和需求的變化。
以上是為什麼使用“List list = new ArrayList”而不是“ArrayList list = new ArrayList”?的詳細內容。更多資訊請關注PHP中文網其他相關文章!