我非常新的Java和我想知道這實際上意味着:什麼是「列表<Integer> list = new ArrayList <Integer>();」其實是什麼意思?
List<Integer> list = new ArrayList<Integer>(); //Example 1
,以區分各個這個問題,我讀過有關多態性與例1和2的區別的帖子,我也明白例1允許「編程接口」。我也明白,使用示例1,可以輕鬆地將列表更改爲LinkedList,而不會影響其餘的代碼。
ArrayList<Integer> list = new ArrayList<Integer>(); //Example 2
但是我想知道例1實際意味着什麼。它是否創建一個新的列表?或者它創建一個新的ArrayList?結果對象是否具有List的屬性?或者結果對象是否具有ArrayList的屬性?我是否可以實現ArrayList在列表中使用的方法,而不會出現編譯錯誤?
這是我第一次發佈問題,所以請讓我知道,如果我可以做任何改進。
首先,ArrayList的是具體的List實現,exampl1創建ArrayList類型(具體實現)的一個新的列表。變量「list」具有ArrayList的屬性/方法。 – imprezzeb
[可能重複](http:// stackoverflow。com/questions/14903145/list-and-arraylist之間的區別是什麼) – gks
[類型列表與Java中的類型ArrayList]可能的重複(http://stackoverflow.com/questions/2279030/type- list-vs-type-arraylist-in-java) – ZhekaKozlov