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

     

  • 相关阅读:
    太tmd恐怖了,一个搞破解的过程分析。
    JQuery爱好者们的福音:jQuery EasyUI 开源插件套装 完全替代ExtJS
    期待5月的灿烂阳光
    2010 2月记
    JQuery 的跨域方法 可跨任意网站
    准备写个ASP.NET MVC 2开发的系列文章
    Win7 访问网络共享文件夹显示空白目录的问题解决
    4月的长沙
    将ASP.NET MVC 2.0 部署在IIS6和IIS7上的教程
    谈谈年底感想
  • 原文地址:https://www.cnblogs.com/gilgamesh-hjb/p/12133642.html
Copyright © 2011-2022 走看看