zoukankan      html  css  js  c++  java
  • Java学习-多态

     

     结合接口(interface)一起理解:

    目录结构如下:

     ADAPHero类

    1 package charactor;
    2 import property.Mortal;
    3 public class ADAPHero extends Hero implements Mortal {
    4     
    5     public  void die()
    6     {
    7         System.out.println("ADAPHero died");
    8     }
    9 }

    ADHero类

     1 package charactor;
     2 import property.Mortal;
     3 public class ADHero extends Hero implements Mortal
     4 {
     5     public void die()
     6     {
     7         System.out.println("ADHero died");
     8     }
     9 
    10 }

    APHero类

    1 package charactor;
    2 import property.Mortal;
    3 public class APHero extends Hero implements Mortal{
    4     public  void die()
    5     {
    6         System.out.println("APHero died");
    7     }
    8 }

    Mortal接口类

    1 package property;
    2 
    3 public interface Mortal {
    4     public  void die();
    5 }

    关键的Hero类:

     1 package charactor;
     2 import property.Mortal;
     3 public class Hero {
     4     public String name;
     5     protected float hp;
     6  
     7     public void kill(Mortal m)
     8     {
     9         m.die();
    10     }
    11  
    12     public static void main(String[] args) {
    13          
    14       Hero h1=new Hero();
    15       h1.name="garen";
    16       ADHero ad=new ADHero();
    17       APHero ap=new APHero();
    18       ADAPHero adap=new ADAPHero();
    19       h1.kill(ad);  //传参时:Mortal m = ad,父类接口Mortal的引用m指向子类对象ad,以下同理
    20       h1.kill(ap);
    21       h1.kill(adap);
    22       //同样的Hero类型,同样的kill方法,不同的效果
    23     }
    24        
    25 }

    Hero类的主方法运行结果:

    ADHero died
    APHero died
    ADAPHero died

     

  • 相关阅读:
    (转)建表参数(pctfree,IniTrans,maxtrans)含义
    oracle 中事务提交
    如何创建线程安全的list
    [转] Redis 存储List对象
    【转】 Oracle用户密码过期和用户被锁解决方法
    【转】oracle中rownum和row_number()
    [转]如何防止博客园文章被窃取
    【转】解锁 时 ORA-00942 表或视图不存在 问题的解决
    java 接口可以多继承--【转】http://blog.csdn.net/tiantiandjava/article/details/46514783
    echarts 问题
  • 原文地址:https://www.cnblogs.com/gilgamesh-hjb/p/12133642.html
Copyright © 2011-2022 走看看