• 认识多态~


    目录

    1、 认识多态

    2、 向上转型

    3、 向下转型

    4、 instanceof运算符

    5、多态的优势主

    6、多态的两种主要应用形式


    1、 认识多态

    (1)多态一词的通常含义是指能够呈现出多种不同的形式或形态。

    (2)在程序设计的术语中,它意味着一个特定类型的变量可以引用不同类型的对象,并且自动地调用引用的对象的方法,也就是根据作用到的不同对象类型,响应不同的操作。

    (3)方法重写是实现多态的基础。

    (4)多态意味着在一次方法调用中根据包含的对象的实际类型(即实际的子类对象)来决定应该调用哪个方法,而不是由用来存储对象引用的变量的类型决定的。

    当调用一个方法时,为了实现多态的操作,这个方法既是在父类中声明过的,也必须是在子类中重写过的方法。


    2、 向上转型

    (1)向上转型:子类向父类的转换称为向上转型。

    (2)向上转型的语法格式如下:

            <父类型> <引用变量> = new <子类型>();

    -->将一个父类的引用指向一个子类对象称为向上转型,系统会自动进行类型转换。

    -->此时通过父类引用变量调用的方法是子类覆盖或继承了父类的方法,不是父类的方法。

    -->此时通过父类引用变量无法调用子类特有的方法。


    3、 向下转型

    (1)向上转型中,父类引用变量无法调用子类特有的方法,如果需要调用子类特有的方法,可以通过把父类转换为子类来实现。

    (2)向下转型:将一个指向子类对象的父类引用赋给一个子类的引用,即将父类类型转换为子类类型,称为向下转型,此时必须进行强制类型转换。

    (3)向下转型的语法格式如下:

          <子类型> <引用变量名> = (<子类型>)<父类型的引用变量>;

    (4)上述这种向下转型的操作对接口和抽象(普通)父类同样适用。


    4、 instanceof运算符

    (1)在向下转型的过程中,如果不是转换为真实子类类型,会出现类型转换异常(ClassCastException)。

    (2)在Java中提供了instanceof运算符类进行类型的判断。

    (3)使用instanceof时,对象的类型必须和instanceof后面的参数所指定的类有继承关系,否则会出现编译错误。

    (4)instanceof通常和强制类型转换结合使用。


    5、多态的优势主

    -->可替换性:多态对已存在的代码具有可替换性。

    -->可扩充性:多态对代码具有可扩充性。增加新的子类不影响已存在类的多态性、继承性,以及其他特征的运行和操作。实际上新加子类更容易获得多态功能。

    -->接口性:多态是父类向子类提供了一个共同接口,由子类来具体实现。

    -->灵活性:多态在应用中体现了灵活多样的操作,提高了使用效率。

    -->简化性:多态简化了应用软件的代码编写和修改过程,尤其在处理大量对象的运算和操作时,这个特点尤为突出和重要。


    6、多态的两种主要应用形式

    1、 使用父类作为方法的形参

    2、 使用父类作为方法的返回值

  • 相关阅读:
    【Leetcode】14. 最长公共前缀
    【Linux】感性认识冯诺依曼体系结构和操作系统
    Vivado使用入门之四:时序约束操作大全
    Linux服务器配置信息查询命令
    DDD的哲学意味(上)
    PyQt5快速开发与实战 5.3 多线程
    一名GISer的本科生涯--写于2018年
    Python 框架学习 Django篇 (五) Session与Token认证
    Redis源码与设计剖析-Redis事件处理
    项目管理之项目计划TG1
  • 原文地址:https://blog.csdn.net/rbh200812/article/details/126590500