zoukankan      html  css  js  c++  java
  • 有关于多态和静态绑定与动态绑定的知识

    一、多态

        事物出现的多种体现形态(Java中指同一对象可以有不同类型的指向。)

      1、多态的体现:
        父类的引用指向了自己的子类的(或孙类)的对象。
        父类的引用也可以接受自己的子类对象。


      2、多态的前提:
        1)、必须是类与类之间有关系,要么继承、要么实现。
        2)、存在继承、  存在方法重写、   存在父类引用指向子类对象。


      3、多态的好处:
        提高了代码的复用性。


      4、多态的弊端:
        但是只能是父类的引用指向父类的成员。


      5、多态的应用:

      6、多态的代码特点(代码的注意事项)
        1)、多态中成员函数的特点:
          1、在编译时期:参阅引用型变量所属类中是否有调用的方法,如果有,编译通过, 否则,编译失败。
          2、在运行时期:参阅对象所属类中是否有所属方法。
        简单总结:成员函数在多态调用时,编译看左边、运行看右边。(动态绑定,迟绑定)

        2)、多态中成员变量的特点:
          编译和运行都参考左边的,(总结就是: 静态绑定)


    二、数据转型:
      1、向上转型(up casting):就是将子类的对象转型成父类的引用(就是父类引用指向了子类的对象,此时此引用只能看见(访问)父类的成员)。
      2、向下转型(down casting):将向上转型的引用再转回来,就叫向下转型(此时引用能看见(访问)子类的成员变量)。

    三、绑定:


      1、静态绑定:
        1)、存在条件:存在多态(继承、重写、转型)。
        2)、其中的“重写”的是静态方法、静态成员变量、成员变量。


      2、动态绑定:
        1)、存在条件:存在多态(继承、重写、转型)。
        2)、其中的“重写”的是非静态的方法。

    四、多态总结:

        多态就是同一个对象在整个继承体系的不同表型形势, 也就是对于一个对象的不同引用。
      注:就是说, 对于一个确定的对象,不能向比他本身更低的类型转变。

    五、关键字:instanseof


        用来判断一个对象是否属于某个类型,此处的类型是代表对象本身的类型(被new出来时的本来类型)。


        使用方法:对象名.instanceof 类型名 :cat1.instanceof Cat; 或者: cat.instanceof Animal 。

  • 相关阅读:
    web.xml+spring mvc基本配置
    REST服务安全-双向认证
    thymeleaf 配置
    jenkins
    linux下ssh/scp无密钥登陆方法
    java编译 Error: Could not find or load main class java执行包main方法
    文本按列导入excel
    linux脚本-判断进程是否存在,从而可以做预警处理..
    Linux中顿号
    >/dev/null 2>&1
  • 原文地址:https://www.cnblogs.com/soficircle/p/6618629.html
Copyright © 2011-2022 走看看