针对评论中的疑问,提示一下:创建有参构造的原因是为了利用构造重载同时给多个属性赋值,而不用set一个一个赋值;list和set最大的不同就是List的元素是可以重复的,而Set的元素是不能重复的,原因可能是因为课程是不重复的,所以用了set。接口中没有自身的构造函数,所以不能实例化。接口的方法都是抽象方法,变量都是常量,因为是接口方法是抽象的,所以接口方法只有声明而没有方法体(即方法的实现)。正因为如此,一个接口往往至少有一个对应的实现类(可以多个),接口的实现类通过重写(override)来接口中的抽象方法来提供方法的实现。所以接口实例化的方式是new 接口实现类()
----慕课java入门第三季4-3
Array.asListe(course)将数组转化为列表