繼承擴展接口
//怪物
interface Monster {
//危險
void menace();
}
//危險的怪物
interface DangerousMonster extends Monster {
//有破壞力
void destory();
}
//致命
interface Lethal {
//殺死
void kill();
}
//龍戰士
class DragonZilla implements DangerousMonster {
public void menace() {
};
public void destory() {
};
}
//吸血鬼
interface Vampire extends DangerousMonster, Lethal {
void drinkBlood();
}
//邪惡的吸血鬼
class VeryBadVampire implements Vampire {
public void menace() {
};
public void destory() {
};
public void kill() {
};
public void drinkBiood() {
};
}
//表演
public class HorrorShow {
static void u(Monster b) {
b.menace();
}
static void v(DangerousMonster d) {
d.menace();
d.destory();
}
static void w(Lethal l) {
l.kill();
}
public static void main(String[] args) {
DangerousMonster barney = new DragonZilla();
u(barney);
v(barney);
Vampire vlad = new VeryBadVampire();
u(vlad);
v(vlad);
w(vlad);
}
DangerousMonster是Monster的直接擴展,它產生了一個新接口.DragonZilla中實現了這個接口.
在Vampire中使用的語法僅適用於接口繼承.一般情況下,只能將extends用於單一類.但是可以引用多個基類的接口.