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

关于语句public List coursesToSelect;

解释是创建一个List类型的属性,但是这句public List coursesToSelect;还是不太懂,属性可以这么创建吗?

正在回答

4 回答

List是接口,创建List类型接口的coursesToSelect

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

List是接口也是类啊,类就是属性的类型,也就是创建List类型的coursesToSelect,然后在构造函数中实例化为对象,就可以使用List的方法了,那个地方不懂

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

ONEPIECEe

st.coursesToSelect 是什么意思
2016-06-13 回复 有任何疑惑可以回复我~

List是接口可以声明对象,但要通过实现类来实例化。如下Dog即为Animal的实现类

interface Animal {
    public void eat();
}
class Dog implements Animal {
    public void eat() {
        System.out.println("Dog eat bone!");
    }
}

public class test(){

    Animal dog=new Dog();

    dog.eat();

}


1 回复 有任何疑惑可以回复我~
#1

理智的猪头 提问者

是不是“Animal dog=new DOg();”就相当于 “public List coursesToSelect; this.coursesToSelect=new ArrayList();"本质都是接口的引用指向实现类的的实例,于是声明的对象有了接口里的方法?前面的public Set courses; this.cousers=new HashSet(); 也是这个原理吗?这里的courses是接口Set的引用还是courses类?
2015-11-28 回复 有任何疑惑可以回复我~
#2

cdsqbylcdqtzrz 回复 理智的猪头 提问者

原理都是一样的,这里的courses是Set接口的引用,你应该是想往courses集合添加Courses类的对象作为集合中的元素吧
2015-11-28 回复 有任何疑惑可以回复我~

是不是因为 List类时静态类?

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

理智的猪头 提问者

但是List不是接口吗?
2015-11-27 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于语句public List coursesToSelect;

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