news 2026/10/31 3:30:10

面向对象进阶 多态

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
面向对象进阶 多态

面向对象进阶:多态

一、多态的定义

同类型对象表现出的不同形态

二、核心表现形式

父类类型 对象名=new子类类型();// 例:Animal animal = new Cat();

三、多态的三大前提

  1. 存在继承或实现关系(类继承类、类实现接口)

  2. 父类引用指向子类对象(满足上述表现形式)

  3. 存在方法重写

    四、使用场景与优势

    典型场景

    当需要处理多个同父类的子类对象时(如Student、Teacher、Administrator均继承自Person),可简化方法定义:

    // 无需为每个子类定义单独方法voidregister(Personp){p.show();// 自动调用对应子类的重写方法}

    核心优势

  • 减少代码冗余,提高扩展性

  • 父类型参数可接收所有子类型对象

    五、多态中成员的调用规则

    1. 成员变量

  • 编译期:检查父类中是否存在该变量(编译看左边)

  • 运行期:使用父类中的变量值(运行看左边)

    2. 成员方法

  • 编译期:检查父类中是否存在该方法(编译看左边)

  • 运行期:执行子类中重写的方法(运行看右边)

    六、多态的弊端与解决方案

    弊端

    父类引用无法直接调用子类的特有方法和属性

    解决方案:强制类型转换(向下转型)

    // 格式:子类类型 新对象名 = (子类类型) 父类引用;Parentp=newChild();Childc=(Child)p;// 强制转换后可调用Child的特有方法

    七、类型判断工具:instanceof

    作用

    判断对象是否属于指定类型(包括继承关系)

    基础用法

    Aa=newB();// B是A的子类booleanisB=ainstanceofB;// truebooleanisA=ainstanceofA;// true

    JDK14+新特性(模式匹配)

    if(ainstanceofBb){// 若判断成立,自动完成类型转换,可直接使用b调用B的方法b.childMethod();}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/30 13:01:57

36、深入了解Sun RPC:原理、格式与应用分析

深入了解Sun RPC:原理、格式与应用分析 1. 链表初始化 在处理数据结构时,链表的初始化是一项基础且重要的操作。这里为四个链表项分配了空间,但仅初始化了其中三个。初始化顺序依次为 nameval[2] 、 nameval[1] 和 nameval[0] ,链表头 out.list 被设置为 &n…

作者头像 李华
网站建设 2026/10/30 20:03:24

linux环境下python连接海康工业相机

参考:linux环境下python连接海康工业相机-CSDN博客 一、海康相机环境搭建 在linux环境下搭建,去海康机器人官网下载对应的安装包,下载链接: https://www.hikrobotics.com/cn/machinevision/service/download/?module0 解压MVS_STD_V3.0.1_…

作者头像 李华
网站建设 2026/10/30 1:40:55

【LH-AQ7A80】

LH-AQ7&A80 ■ AQ7■■■ ■■ A80■■■ ■ AQ7 安卓8.1系统, SDK27 AQ7、A80二次开发注意事项 1,开发前请先安装聚伟所提供电脑驱动,个别电脑因为电脑杀毒软件等影响不能识别,此时建议关掉所有杀毒软件或换台电脑使用开发…

作者头像 李华
网站建设 2026/10/31 3:11:16

Kotaemon支持Kyverno策略吗?Kubernetes原生管控

Kotaemon 与 Kyverno:构建可管控的 AI 应用基座 在企业加速推进 AI 落地的今天,一个常见的矛盾日益凸显:业务团队希望快速上线智能对话系统以提升服务效率,而运维和安全团队却对未经治理的 AI 工作负载充满担忧。这类应用往往资源…

作者头像 李华
网站建设 2026/10/30 10:02:57

10、互联网浏览与安全隐私全攻略

互联网浏览与安全隐私全攻略 1. 使用 RSS 订阅源 Internet Explorer 7 新增了订阅和下载新订阅源(通常称为 RSS 或 Atom 订阅源)的功能。这些订阅源对于内容频繁更新的网站(如新闻网站和博客)非常有用。当你在 Internet Explorer 中访问某个网站时,如果该网站有可用的订…

作者头像 李华
网站建设 2026/10/30 7:11:22

Kotaemon判决书摘要提取:关键信息速览

Kotaemon判决书摘要提取:关键信息速览 在法院每年处理数百万份判决书的今天,一份长达数十页的民事裁决文书,往往需要法官助理花上几个小时才能提炼出核心要点。面对如此庞大的非结构化文本数据,传统的人工阅读与归档方式早已不堪重…

作者头像 李华