服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

通过继承扩展接口


  利用继承技术,可方便地为一个接口添加新的方法声明,也可以将几个接口合并成一个新接口。在这两种情况下,最终得到的都是一个新接口,如下例所示:
  
  //: 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可能引用多个基础接口。正如大家看到的那样,接口的名字只是简单地使用逗号分隔。

扫描关注微信公众号