通过继承来扩展接口

来源:互联网 发布:cetv4 网络回看 编辑:程序博客网 时间:2024/06/08 09:39
package interfaces.filter;
/**
 * 通过继承来扩展接口
 * 
 * */
interface Monster{
void menace();
}
interface DangerousMonster extends Monster{
void destroy();
}
interface lethal{
void kill();
}
class DragonZilla implements DangerousMonster{


@Override
public void menace() {
// TODO Auto-generated method stub

}


@Override
public void destroy() {
// TODO Auto-generated method stub

}

}
//在Vampire中使用的语法仅适用于接口继承。
//一般情况下,只可以将extends用于单一类,但是可以引用多个基类接口。
interface Vampire extends DangerousMonster,lethal{


void drinkBlood();
}
class VeryBadVampire implements Vampire{


@Override
public void kill() {

}


@Override
public void destroy() {

}


@Override
public void menace() {

}


@Override
public void drinkBlood() {

}

}


public class HorrorShow {
static void u(Monster b){b.menace();}
static void v(DangerousMonster d){
d.menace();
d.destroy();
}
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);

}
}