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