【38】通过继承扩展接口
interface Monster{
public void menace();
}
//接口继承,可添加新的方法
interface DangerousMonster extends Monster{
void Destroy();
}
interface Lethal{
void kill();
}
//类实现接口,该接口中未实现的方法需要全部实现
class DragonZilla implements DangerousMonster{
public void menace(){}
public void Destroy(){}
}
//接口可以多重继承多个接口,只有在继承接口时,extends后才可跟随多个接口的名称
interface Vampire extends DangerousMonster,Lethal{
void DrinkBlood();
}
public class HorroShow {
//针对接口(上层)编程
static void u(Monster x) {x.menace();}
static void v(DangerousMonster x) {x.menace();x.Destroy();}
/**
* @param args
*/
public static void main(String[] args) {
//该类最终实现的是两个接口的方法,故可以针对这两个接口进行上溯造型
DragonZilla dragonZilla = new DragonZilla();
u(dragonZilla);
v(dragonZilla);
}
}