Mega Code Archive

 
Categories / Java / Language Basics
 

Extending an interface with inheritance

// : c08:HorrorShow.java // Extending an interface with inheritance. // From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002 // www.BruceEckel.com. See copyright notice in CopyRight.txt. 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);   } } ///:~