当前位置: 首页 > news >正文

面向对象进阶 多态

面向对象进阶:多态

一、多态的定义

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

二、核心表现形式

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

三、多态的三大前提

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

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

  3. 存在方法重写

    四、使用场景与优势

    典型场景

    当需要处理多个同父类的子类对象时(如StudentTeacherAdministrator均继承自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();}
http://www.zskr.cn/news/121397.html

相关文章:

  • 全国中医师承靠谱机构推荐阿虎医考师承:跟对机构真的很重要 - 资讯焦点
  • Kotaemon支持OPA策略引擎吗?细粒度访问控制
  • 10、Windows 文件系统操作全解析
  • Kotaemon支持gRPC通信吗?高性能微服务集成
  • 9个AI工具,专科生论文写作不再难!
  • 四川文创礼品亲测,这些品质超优!
  • 自动驾驶汽车如何更好地工作?
  • 2025年知名的涪陵榨菜全国消费者口碑好评榜 - 行业平台推荐
  • 31、Unix 系统中描述符传递与线程管理技术解析
  • 9个AI写作工具,MBA论文高效完成攻略!
  • Kotaemon家庭健康管理:症状自查与建议
  • 包、关键字、代码块
  • 2025年十大河南祥雅防火玻璃制造商排行榜,新测评精选防火玻 - 工业推荐榜
  • vue3+vite+scss项目使用tailwindcss
  • 33、深入探究Sun RPC:多线程、服务器绑定与认证机制
  • 34、Sun RPC:认证、超时重传及相关机制详解
  • 35、Sun RPC 中的 XDR:外部数据表示详解
  • 如何通过Kotaemon降低人工客服工作量30%?
  • 2025年年终成都四川工作服厂家推荐:专家结合行业标准与市场口碑严选的5家标杆企业案例 - 品牌推荐
  • Kotaemon能否生成Makefile?自动化构建脚本辅助
  • 2025年质量好的特教设备器材/幼儿园特教设备行业内口碑厂家排行榜 - 行业平台推荐
  • 2025安徽不错的特训学校TOP5权威推荐:深度测评指南,助 - myqiye
  • 350页pdf!大模型基础教材发布,开源!
  • Kotaemon邮件发送助手:自动撰写并投递
  • 如何甄别靠谱的工作服供应商?2025年年终成都地区5家实力厂家综合评测与专业推荐! - 品牌推荐
  • 2025年年终成都四川工作服厂家推荐:从生产资质到服务网络的全方位对比与5家实力厂商清单 - 品牌推荐
  • 【Linux进阶】mmap实战:文件映射、进程通信与LRU缓存 - 指南
  • 2025年靠谱的动力配电柜/低压配电柜成套设备厂家最新实力排行 - 行业平台推荐
  • 2025年上海家政推荐公司TOP5,家政品牌公司全解析,家政 - mypinpai
  • Kotaemon能否用于构建智能面试官?HR场景落地