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

请问List不是一种接口的形式吗?之前的课程说过接口只是一种规范。那么为什么可以定义变量的形式进行定义?

之前的课程讲过,接口只是限定的一种规范,里面都是抽象方法,不同于类和抽象类。那么视频中,有一段代码我不是很明白:public List coursesToSelect;

如果是一种规范的话,不是只能用里面的方法吗?所以应该只能public List XXXX();运用里面的方法。

如果是这样的那接口是可以定义数据类型的吗?我要如何认知和重新理解接口的?

正在回答

2 回答

接口List确实不能实例化,但是这里我们并没有用List来创建对象courseToSelect,而是通过接口List的一个实现类ArrayList来创建的对象courseToSelect,也就是代码里面的这句:

public ListTest(){
    this.coursesToSelect = ArrayList();
}

在这里,我们引入了接口List的实现类ArrayList,所以需要导入java.util包,这里面就声明定义了ArrayList类。这就是为何一会List,一会ArrayList的原因,两者内涵是不一样的。

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

coursesToSelect是个变量名,List是它的类型,这个是变量声明语句。

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

见习学徒戴株 提问者

所以说……List只是一个接口我没有用extends,而coursesToSelect更不是一个class,为什么接口可以直接定义变量……?????求指教
2014-12-20 回复 有任何疑惑可以回复我~
#2

yoummg 回复 见习学徒戴株 提问者

接口是Java实现多继承的手段,应用extends只能单继承。 public List coursesToSelect; public String name; 两者比较学习,List可以认为是一种数据类型,就和name是String类型一样,也可以说是String的对象,因为Java内部处处是对象。 在前期学习的时候,需要理解List作为存储数据的一种方式,在慢慢学习的过程中你自然会对List有更深入的理解。 谢谢。
2014-12-21 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请问List不是一种接口的形式吗?之前的课程说过接口只是一种规范。那么为什么可以定义变量的形式进行定义?

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