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 VeryBadVampire implements Vampire {
public void menace() {}
public void destroy() {}
public void kill() {}
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);
}
} ///:~用匿名实现DangerousMonster和Vampire
求教。
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 VeryBadVampire implements Vampire {
public void menace() {}
public void destroy() {}
public void kill() {}
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);
}
} ///:~用匿名实现DangerousMonster和Vampire
求教。
public void menace() {}
public void destroy() {}
};
Vampire vlad = new Vamprire(){
public void menace() {}
public void destroy() {}
public void kill() {}
public void drinkBlood() {}
};
public void menace() {}
public void destroy() {}
} class VeryBadVampire implements Vampire {
public void menace() {}
public void destroy() {}
public void kill() {}
public void drinkBlood() {}
} 是这2个变成匿名的
void menace();
}interface DangerousMonster extends Monster {
void destroy();
}interface Lethal {
void kill();
}class DragonZilla {
public DangerousMonster get(){
return new DangerousMonster() {
public void menace() {}
public void destroy() {}
};
}
}interface Vampire extends DangerousMonster, Lethal {
void drinkBlood();
}class VeryBadVampire {
public Vampire get2(){
return new Vampire()
{
public void drinkBlood(){}
public void menace() {}
public void kill() {}
public void destroy() {}
};
}
}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) {
DragonZilla ba = new DragonZilla();
DangerousMonster barney = ba.get();
u(barney);
v(barney);
VeryBadVampire vl = new VeryBadVampire();
Vampire vlad = vl.get2();
u(vlad);
v(vlad);
w(vlad);
}
} ///:~
我自己改好了。