zoukankan      html  css  js  c++  java
  • 深度解密,接口扩展——《Thinking in Java》随笔016

     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关键字来合成、合成,而且支持多重合成。

  • 相关阅读:
    6.4 总结(关于正确率)
    POI2013 Bytecomputer
    BZOJ1485 有趣的数列
    PAM
    BZOJ1787 meet
    BZOJ3895 rock
    URAL 1996 Cipher Message 3
    BZOJ1468 Tree
    Javascript初识之数据类型
    Javascript初识之流程控制、函数和内置对象
  • 原文地址:https://www.cnblogs.com/skyfffire/p/6488831.html
Copyright © 2011-2022 走看看