问答详情
源自:4-5 学生选课---添加课程 Ⅱ

public List coursesToSelect;

这里不太懂

1.既然最终的实例化是通过ArrayList实例化,那么为什么创建对象的时候使用List接口呢?

public ArrayList coursesToSelect = new ArrayList();


2.使用接口或者抽象类创建的对象相比其相应的实现类直接创建的对象来说又有什么优势呢?



提问者:慕仔2276916 2018-03-04 18:29

个回答

  • qq_珍宝珠的盒子_0
    2018-05-28 20:25:24

    我猜是增加了代码的灵活性和可拓展性,用List方便以后再加入新的集合。

  • 慕姐936777
    2018-03-13 21:19:27

    应该是Java的多态,更灵活。 

    List接口一共有三个实现类,分别是ArrayList、Vector和LinkedList

  • Kambitious
    2018-03-06 11:59:06

    接口相当于插座,如果你只想连电灯直接接线当然方便,但是你不会因为那不安全(细节全部暴露了),如果你要连洗衣机那是不是还要加一根地线,所以你用插座

  • 慕仔2276916
    2018-03-05 10:45:52

    附带一句。看到后面的迭代器也是这样写的

    Iterator it = new ArrayList.iterator();

    真的不是很明白为什么要这么实例化。求大神解答

  • qq_常为客_0
    2018-03-04 23:02:16

    我也是小白,下面是我的猜测。可能是为了说明要创建的集合是List下的一个集合,比较好区分。有其他大神评论请指正。