extents和implements的区别

extends可以理解为全盘继承了父类的功能

implements可以理解为为这个类附加一些额外的功能

        举个例子,Animal是一个父类,cat,dog,bird,insect都extends了Animal,但是cat,dog,bird还可以implements比如run,shout这些interface,bird,insect可以implements比如fly这些interface

        extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承,JAVA中不支持多重继承,但是可以用接口来实现,extends只能继承一个类,implements可以实现多个接口,比如 class A extends B implements C,D,E 

interface定义一些方法,并没有实现,需要implements来实现才可用

extend可以继承一个接口,但仍是一个接口,也需要implements之后才可用

对于class而言,extends用于(单)继承一个类(class),而implements用于实现一个接口(interface)。

interface的引入是为了部分地提供多继承的功能。

在interface中只需声明方法头,而将方法体留给实现的class来做。

这些实现的class的实例完全可以当作interface的实例来对待。

在interface之间也可以声明为extends(多继承)的关系。

注意一个interface可以extends多个其他interface。

猜你喜欢

转载自taoyongpan.iteye.com/blog/2372967