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);
}
}
/**
* 通过继承来扩展接口
*
* */
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);
}
}