1 //: HorrorShow.java 2 // 研究多个接口的合成。 3 package cn.skyfffire; 4 5 /** 6 * 7 * @author skyfffire 8 * @version 0.1 9 * @time 2017/3/2 10 * 11 */ 12 interface Monster { 13 void menace(); 14 } 15 16 interface DangerousMonster extends Monster { 17 void destory(); 18 } 19 20 class DragonZilla implements DangerousMonster { 21 @Override 22 public void destory() {} 23 24 @Override 25 public void menace() {} 26 } 27 28 interface Lethal { 29 void kill(); 30 } 31 32 interface Vampire extends DangerousMonster, Lethal { 33 void drinkBlood(); 34 } 35 36 public class HorrorSHow { 37 static void u(Monster b) { 38 b.menace(); 39 } 40 41 static void v(DangerousMonster d) { 42 d.menace(); 43 d.destory(); 44 } 45 46 public static void main(String[] args) { 47 DragonZilla dz = new DragonZilla(); 48 49 u(dz); 50 v(dz); 51 } 52 } 53 ///: ~
可以发现,接口可以通过extends关键字来合成、合成,而且支持多重合成。