公共接口列表扩展集合
Collection是一个接口,而不是List扩展它而不是实现的原因?
答案 0 :(得分:5)
在Java中:
extends
另一个implements
一个或多个界面extends
另一个界面即,在具有"超级界面"的界面的上下文中,我们使用' extends'而不是'实现'因为接口永远不会实现任何东西。它扩展了现有合同。
答案 1 :(得分:0)
将interface
视为行为列表。 Animal
可以eat()
和move()
。每只动物的表现都不同,但每只动物都会这样做。因此,interface
会列出行为,class
implements
这些行为(定义动物如何移动或吃掉)。所以class Elephant implements Animal
。
现在可以扩展这个行为列表 - 例如,狗可以吠叫。这就是为什么interface Dog extends Animal
。您可以创建class Poodle implements Dog
。本课程将解释贵宾犬的移动,吃饭和吠叫的确切方式。
此外,可以扩展类 - 这意味着您可以通过扩展MinaturePoodle
extends Poodle
来添加行为或覆盖主类Poodle的行为。
总结:类可以扩展其他类或实现接口(行为)。 接口(行为)可以通过其他接口扩展或通过类实现(通过创建方法主体)。 http://docs.oracle.com/javase/tutorial/java/IandI/nogrow.html
答案 2 :(得分:0)
List
是接口,接口没有定义范围(从java 7开始,jdk 8提供了默认方法)。
所有常见类型的特征集合都被概括并汇总到collection
界面,该界面后来专注于不同的集合,如List
,Map
或{{ 1}}。
Set
List
类型与collection
& Set
。 Map
是ArrayList
的实现,List
也是Collection
的类型。
答案 3 :(得分:0)
来自Doc
List接口在迭代器,add,remove,equals和hashCode方法的契约上放置了除Collection接口中指定的规则之外的其他规定。为方便起见,此处还包含其他继承方法的声明
答案 4 :(得分:0)
列表是接口,接口没有定义范围(因为java 7,jdk 8提供了默认方法)。
而ArrayList,LinkedList是一个类,该类实现接口。
基本层次结构为 列表列表= new ArrayList <>(); 这里的list是接口,因此我们不能创建它的对象,但是ArrayList是可以使用它的类。
相同的原则适用于集合,队列,双端队列。
MAP也是一个界面,但是它是独立的。
列表扩展集合,集合扩展可迭代。