问答详情
源自:5-2 学生选课---使用 Map 添加学生

看了List ArrayList 的问题

public List courseToSelect;    
public ListTest() {		
this.courseToSelect = new ArrayList();	}

为什么要这么麻烦,一开始先定义一个List接口,再在构造函数中用List的接口类去初始化。

ArrayList<Course> cts=new ArrayList<Course>();	

直接定义一个ArrayList<Course>,不就好了吗?

就大神解释


提问者:宝慕林9160084 2018-09-01 20:46

个回答

  • qq_泡沫_37
    2018-09-02 15:43:26

    你么这么做也没毛病,不过视频主要是为了加深大家对多态的理解。另外还有就是list接口不止一个子类,还有Vector这个这个子类,和LinkedList这个实现类,有的时候我们在设计之初并不是很确定要使用到哪个子类,所以就用多态的写法,写声明一个父类的引用,然后再根据实际情况去实例化一个子类的对象,从而完成程序。

    以上就是我的理解。