参数化接口可以是子接口吗?

时间:2014-03-04 05:43:55

标签: java list interface parameterized

这是一项我已经研究了两个多小时的家庭作业,我仍然无法得到一个好的答案,所以我将不胜感激。

假设Bicycle是Vehicle的子类。

参数化接口List<Bicycle>List<Vehicle>的子接口吗?简要解释一下。

我的问题是:

  1. 我以为你甚至连接口都没有列表,只有方法。

  2. 如何将列表作为接口,更不用说子接口了?

  3. 这个问题甚至用简单的英语问了什么? :/

  4. 提前致谢!

2 个答案:

答案 0 :(得分:1)

关于您的问题

  1. 您在界面中没有ListList本身就是一个 接口

  2. List当然是一个接口(LinkedListArrayList是实现它的类)。 List只提供足以描述简单列表的方法,ArrayListLinkedList根据实施提供这些方法的主体。

  3. 为了解释实际问题,我会先记下一些事实。 (对不起,如果我太基本了,但我是为了完成而这样做。)


  4. 关于问题

    • 子接口是指扩展另一个接口的接口。
    • 参数化接口是在创建引用时将类类型作为参数的接口。例如List<Vehicle>表示List是一个参数化接口,它已被赋予Vehicle作为参数。 (这意味着List的每个元素都是Vehicle。即它是车辆清单。
    • 问题是询问参数化接口List<Bicycle>是否是List<Vehicle>的子接口。 (即List<Bicycle> List<Vehicles>延伸BicycleVehicle延伸{{1}}。

    我认为你应该足够理解这个问题,部分也应该理解答案。

    祝你好运。

答案 1 :(得分:0)

参数化界面List&lt; Bicycle&gt; List&lt; Vehicle&gt;的子接口?简要解释一下。

否。 List接口是针对泛型类型定义的,并且定义的方法不会针对各种类型参数进行更改。也就是说,List&lt; x&gt;任何x都有相同的方法。

您的问题是:

  1. 我以为你甚至连接口都没有列表,只有方法。
  2. 列表如何成为接口,更不用说子接口了?
  3. 这个问题甚至用简单的英语问什么? :/
  4. 我的答案是:

    1. 接口可以包含字段(Math.PI),方法和成员类(SomeParcel.Build)。方法可以将List作为返回类型,因此List可以位于接口中(例如Arrays.asList())。
    2. List 一个界面。它是Collection和Iterator的子接口,因为List的超接口是Collection和Iterator。换句话说,List具有超接口Collection的所有方法以及更多,因此它是Collection的子接口。
    3. List&lt; Bicycle&gt;有比List&lt; Vehicle&gt;?更多的方法

    4. 我可能错了,所以我不介意有人想教我关于Java术语的细微差别。