首页 > 学院 > 开发设计 > 正文

通过继承扩展接口

2019-11-18 12:07:59
字体:
来源:转载
供稿:网友

  利用继续技术,可方便地为一个接口添加新的方法声明,也可以将几个接口合并成一个新接口。在这两种情况下,最终得到的都是一个新接口,如下例所示:
  
  //: HorrorShow.java
  // Extending an interface with inheritance
  
  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 HorrorShow {
   static void u(Monster b) { b.menace(); }
   static void v(DangerousMonster d) {
    d.menace();
    d.destroy();
   }
   public static void main(String[] args) {
    DragonZilla if2 = new DragonZilla();
    u(if2);
    v(if2);
   }
  } ///:~
  
  DangerousMonster是对Monster的一个简单的扩展,最终生成了一个新接口。这是在DragonZilla里实现的。
  
  Vampire的语法仅在继续接口时才可使用。通常,我们只能对单独一个类应用extends(扩展)要害字。但由于接口可能由多个其他接口构成,所以在构建一个新接口时,extends可能引用多个基础接口。正如大家看到的那样,接口的名字只是简单地使用逗号分隔。

上一篇:“类”常数分组

下一篇:static内部类

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表