zoukankan      html  css  js  c++  java
  • JAVA中的多态

    原文出自:http://www.cnblogs.com/mengdd/archive/2012/12/25/2832288.html

    多态的概念

      多态==晚绑定

      不要把函数重载理解为多态。

      因为多态是一种运行期的行为,不是编译期的行为。

      多态:父类型的引用可以指向子类型的对象。

      比如 Parent p = new Child();

        当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;

        如果有,再去调用子类的该同名方法。

      (注意此处,静态static方法属于特殊情况,静态方法只能继承,不能重写Override,如果子类中定义了同名同形式的静态方法,它对父类方法只起到隐藏的作用。调用的时候用谁的引用,则调用谁的版本。)

      (参考学习链接:http://docs.oracle.com/javase/tutorial/java/IandI/override.html)  

      如果想要调用子类中有而父类中没有的方法,需要进行强制类型转换,如上面的例子中,将p转换为子类Child类型的引用。

      因为当用父类的引用指向子类的对象,用父类引用调用方法时,找不到父类中不存在的方法。这时候需要进行向下的类型转换,将父类引用转换为子类引用。     

  • 相关阅读:
    【6.29】数组和方法
    【6.28】判断和循环
    【6.27】两个数交换的4种方法
    NodeJS学习笔记
    准备使用马克飞象写博客
    前端基础
    学习笔记
    数据结构 — Java链表
    Java 日期类型与字符串的相互转换
    Scala(一)基础
  • 原文地址:https://www.cnblogs.com/coding-of-love/p/4026871.html
Copyright © 2011-2022 走看看