操作担任技能,可利便地为一个接口添加新的要领声明,也可以将几个接口归并成一个新接口。在这两种环境下,最终获得的都是一个新接口,如下例所示:
//: 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大概引用多个基本接口。正如各人看到的那样,接口的名字只是简朴地利用逗号脱离。
