操作担任技能,可利便地为一个接口添加新的要领声明,也可以将几个接口归并成一个新接口。在这两种环境下,最终获得的都是一个新接口,如下例所示:
//: HorrorShow.java // Extending an interface with inheritance interface Monster { void menace(); } interface DangerousMonster extends Monster { void destroy(); } interface Lethal { void kill(); } class DragonZilla implements DangerousMonster { public void menace() {} public void destroy() {} } interface Vampire extends DangerousMonster, Lethal { void drinkBlood(); } class HorrorShow { static void u(Monster b) { b.menace(); } static void v(DangerousMonster d) { d.menace(); d.destroy(); } public static void main(String[] args) { DragonZilla if2 = new DragonZilla(); u(if2); v(if2); } } ///:~
DangerousMonster是对Monster的一个简朴的扩展,最终生成了一个新接口。这是在DragonZilla里实现的。
Vampire的语法仅在担任接口时才可利用。凡是,我们只能对单唯一个类应用extends(扩展)要害字。但由于接口大概由多个其他接口组成,所以在构建一个新接口时,extends大概引用多个基本接口。正如各人看到的那样,接口的名字只是简朴地利用逗号脱离。