三、多重接口
1.多重接口的基本概念
一个类只可以继承一个父类(保持有兄弟关系,同属一族),但可以实现多个接口,而不需要在继承树中同属一个族。一个类实现多个接口就被称为多重接口。
类不可多重继承,因为两个父类的变量或方法可能重复。而接口不会继承变量,即便两个接口方法定义相同,接口中没有方法实现,类中也只有一个方法实现。
如下图所示:SeaPlane实现了Flyable和Sailer两个接口,继承了Airplane类
接口的多重实现机制从一定程度上弥补了Java类单继承的局限,不但多个无关的类可以实现同一个接口,一个类可以同时实现多个无关的接口。与继承关系类似,接口与其实现类之间存在多态性。如果说继承父类代表着获得一种“家族身份”的话,实现接口则意味着取得了某种“资格”。在java GUI(Graphical User Interface,图形用户界面)事件处理中,大量使用了接口,届时读者会对此有更深入的了解。
2.extends和implements
注意extends从句放在implements从句之前,这样一个类既具有自己定义的方法,继承父类方法,同时具有覆盖的接口方法。
class Bird extends Animal implements Flyable{
//自己定义
public void buildNest(){}
public void layEggs(){}
//继承父类
public void eat(){}
//覆盖方法
public void takeOff(){//加速起飞}
public void land(){//减速着陆}
public void fly(){//保持引擎运转}
}
3.接口多继承
事实上,Java的接口是可以实现多继承的,类不允许多继承。如下示例:
public interface Test extends A,B {
//定义
}
interface A{
//定义
}
interface B{
//定义
}
注意:接口自成一些独立的接口继承树,与Java的唯一一颗类继承树(以Object类为数根的继承树)没有关系。
Java私塾跟我学系列——JAVA篇 网址:http://www.javass.cn 电话:010-68434236
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26660100/viewspace-715759/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26660100/viewspace-715759/