慕仔2276916
2018-03-04 18:29
这里不太懂
1.既然最终的实例化是通过ArrayList实例化,那么为什么创建对象的时候使用List接口呢?
public ArrayList coursesToSelect = new ArrayList();
2.使用接口或者抽象类创建的对象相比其相应的实现类直接创建的对象来说又有什么优势呢?
我猜是增加了代码的灵活性和可拓展性,用List方便以后再加入新的集合。
应该是Java的多态,更灵活。
List接口一共有三个实现类,分别是ArrayList、Vector和LinkedList
接口相当于插座,如果你只想连电灯直接接线当然方便,但是你不会因为那不安全(细节全部暴露了),如果你要连洗衣机那是不是还要加一根地线,所以你用插座
附带一句。看到后面的迭代器也是这样写的
Iterator it = new ArrayList.iterator();
真的不是很明白为什么要这么实例化。求大神解答
我也是小白,下面是我的猜测。可能是为了说明要创建的集合是List下的一个集合,比较好区分。有其他大神评论请指正。
Java入门第三季
409792 学习 · 4340 问题
相似问题