为了账号安全,请及时绑定邮箱和手机立即绑定

public List coursesToSelect;

这里不太懂

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

public ArrayList coursesToSelect = new ArrayList();


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



正在回答

5 回答

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

0 回复 有任何疑惑可以回复我~

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

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

Iterator it = new ArrayList.iterator();

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

public List coursesToSelect;

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信