zoukankan      html  css  js  c++  java
  • 四.Java中多态的实现与应用

    多态性是指允许不同类的对象对同一消息作出响应。

    1.子类父类

      1 需要有子类父类的关系
      2 父类的引用,指向子类的对象
      3 子类中把从父类中继承的方法进行重写
      4 调用相同的方法,结果有不一样的表现形式

    2.接口和实现类

      1 需要有接口和实现类的关系
      2 接口的引用,指向任意一个实现类的对象
      3 实现类中把接口中的抽象方法进行重写
      4 调用相同的方法,结果有不一样的表现形式

    3.动态绑定

      Java中向上转型是多态
      Java中向下转型是继承
      Java中,方法的调用,是运行时和对象动态绑定的,看子类有没有重写这个方法

    4.触发多态效果

    有子父类的关系,父类引用指向子类的实现,所调用的方法需要在父类中定义,若要触发多态效果,要在子类中重写这个方法,有多个子类重写这个方法后,使用多个父类的引用指向多个子类的实现,分别调用同一个父类中被重写的方法,产生自动绑定效果,并且这些对象应该是发生了向上转型。

    class A {
      public String show(D obj)...{
        return ("A and D");
      }
      public String show(A obj)...{
        return ("A and A");
      }
    }
    class B extends A {
      public String show(B obj)...{
        return ("B and B");
      }
      public String show(A obj)...{
        return ("B and A");
      }
    }
    class C extends B{}
    class D extends B{}
    class E {
      public static void main(String [] args){
      A a1 = new A();
      A a2 = new B();
      B b = new B();
      C c = new C();
      D d = new D();
    /*
      System.out.println(a1.show(b)); //①A and A
      System.out.println(a1.show(c)); //②A and A
      System.out.println(a1.show(d)); //③A and D
      System.out.println(a2.show(b)); //④B and A
    */
      }
    }

     

  • 相关阅读:
    动态图片 Movie android-gif-drawable GifView
    X5SDK 腾讯浏览器内核
    AS 自动生成选择器 SelectorChapek
    Genymotion 模拟器 VirtualBox
    360加固保 安全防护 多渠道打包
    Thread 如何安全结束一个线程 MD
    面试题 HashMap 数据结构 实现原理
    nGrinder3.4 性能测试框架安装
    java内存泄漏的定位与分析
    JVM总结-内存监视手段及各区域内存溢出解决
  • 原文地址:https://www.cnblogs.com/Magic-Li/p/12787123.html
Copyright © 2011-2022 走看看