我非常新的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