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

多态(认识多态,好处,类型转换及其注意事项)

面向对象编程

多态

认识多态


为什么是这样,因为就是这样规定的,多态是针对对象多态,而没有针对成员变量多态

packagecom.itheima.polymorphsm;publicclassTset{publicstaticvoidmain(String[]args){//目标:认识多态的代码//1.对象多态,行为多态Animala1=newWolf();a1.run();//狼跑的贼溜---方法:编译看左边,运行看右边System.out.println(a1.name);//动物---成员变量:编译看左边,运行也看左边Animala2=newTortoise();//乌龟跑的贼慢---方法:编译看左边,运行看右边a2.run();//动物---成员变量:编译看左边,运行也看左边System.out.println(a1.name);}}//--------------------分割线--------------packagecom.itheima.polymorphsm;publicclassTortoiseextendsAnimal{Stringname="乌龟";@Overridepublicvoidrun(){System.out.println("乌龟跑的贼慢");}}//--------------------分割线--------------packagecom.itheima.polymorphsm;publicclassAnimal{Stringname="动物";publicvoidrun(){System.out.println("动物会跑");}}//--------------------分割线--------------packagecom.itheima.polymorphsm;publicclassWolfextendsAnimal{Stringname="狼";@Overridepublicvoidrun(){Stringname="狼";System.out.println("狼跑的贼溜");}}

多态的好处

packagecom.itheima.polymorphism2;publicclassTset{publicstaticvoidmain(String[]args){//目标:认识多态的代码//1.多态的好处 1.右边对象是解耦合的Animala1=newTortoise();a1.run();//a1.shrinkHead();//报错,多态下不能调用子类独有功能Wolfw=newWolf();go(w);Tortoiset=newTortoise();go(t);}//2.多态的好处:父类类型的变量作为参数,可以接收一个子类对象publicstaticvoidgo(Animala){System.out.println("开始。。。。");a.run();}}//--------------------分割线--------------packagecom.itheima.polymorphism2;publicclassTortoiseextendsAnimal{Stringname="乌龟";@Overridepublicvoidrun(){System.out.println("乌龟跑的贼慢");}publicvoidshrinkHead(){System.out.println("乌龟缩头");}}//--------------------分割线--------------packagecom.itheima.polymorphism2;publicclassAnimal{Stringname="动物";publicvoidrun(){System.out.println("动物会跑");}}//--------------------分割线--------------packagecom.itheima.polymorphism2;publicclassWolfextendsAnimal{Stringname="狼";@Overridepublicvoidrun(){Stringname="狼";System.out.println("狼跑的贼溜");}publicvoidestSheep(){System.out.println("狼吃羊");}}

多态下的类型转换


自动类型转换就是子类对象给到父类

强制转换类型的注意事项

类型转换小结

http://www.cnnetsun.cn/news/172252.html

相关文章:

  • 研究生必备!7款免费AI论文工具:文献综述一键生成+交叉引用
  • 你不知道的Open-AutoGLM隐性调优技巧:5步完成嵌入式端侧高效适配
  • Excalidraw与主流协作工具对比:为什么它更适合技术团队
  • Open-AutoGLM送礼怎么选?3大黄金法则+高分推荐清单速看
  • Open-AutoGLM如何重塑智能穿搭?:3步构建专属时尚推荐引擎
  • 【Open-AutoGLM电子书限时获取】:揭秘大模型自动化新范式(仅剩200份)
  • 错过将后悔一年:Open-AutoGLM语音指令支持全面上线,你准备好了吗?
  • Excalidraw AI绘制前端微前端架构图
  • Excalidraw手绘风格图表让技术文档更生动
  • FactoryIO 自动化仿真:PLC 学习的绝佳入门模型
  • 9 个降AI率工具,专科生也能轻松应对
  • 【专家亲授】Open-AutoGLM高可用架构设计与生产环境调优秘籍
  • Open-AutoGLM 快捷键配置完全手册,AI开发者的必备生存技能
  • 从零构建AI读书助手,Open-AutoGLM实践路径全公开
  • Open-AutoGLM到底有多强?1个工具解决90%的笔记混乱问题
  • Excalidraw AI促进跨学科协作的潜力
  • 移动应用性能评测指标体系构建
  • 8、无线联网与OSI模型全解析
  • Excalidraw AI生成BI数据分析逻辑图
  • 基于Web的智能家教服务平台设计与实现-计算机毕业设计源码+LW文档
  • Open-AutoGLM异地设备协同管理实战(20年专家私藏方案曝光)
  • 在Bug爆发前“排雷”:预防性测试
  • 你真的懂Open-AutoGLM回滚吗?:从原理到实操的4层防护体系构建
  • 毕业设计 yolo深度学习动物识别
  • 31、SharePoint Web Parts 开发全解析
  • Excalidraw AI功能本地化部署的硬件要求
  • 39、SharePoint 2010 及相关工具安装与站点创建指南
  • (Open-AutoGLM标准化流程首次公开):支撑千万级请求的底层架构设计
  • Excalidraw AI模型版本迭代管理机制
  • 告别复杂编程:Open-AutoGLM无代码平台5大隐藏功能首次曝光