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

Day37-20260205

多态

动态编译:程序的类型只有在执行的时候才能确认,写代码的时候是确定不了的,可拓展性变得更强

即同一方法可以根据发送对象的不同而采用多种不同的行为方式。

一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多

多态存在的条件

  1. 有继承关系
  2. 子类重写父类的方法
  3. 父类引用指向子类对象

注意:多态是方法的多态,属性没有多态性。

instanceof (类型转换:强制转换和自动转换)引用型

package com.oop.demo06;public class Person {public void run(){System.out.println("run");}
}
/*
多态注意事项:
1.多态是方法的多态,属性没有多态
2.父类和子类,有联系 类型转换异常!ClassCastException
3.存在条件:继承关系,方法都要重写   父类引用指向子类对象!   father f1 = new Son();
不能被重写的:1.static 静态的方法,属于类,它不属于实例2.final 常量:3.private 私有的,*/
package com.oop.demo06;public class Student extends Person{@Overridepublic void run() {System.out.println("son");}public void eat(){System.out.println("eat");}
}
package com.oop;import com.oop.demo06.Person;
import com.oop.demo06.Student;import java.util.Scanner;//一个项目应该只存在一个main方法
public class Application {public static void main(String[] args) {//一个对象的实际类型是确定的//new Student();//new Person();//可以指向的引用类型就不确定了:父类的引用指向子类//Student子类型,能调用的方法都是自己的或者继承父类的Student s1 = new Student();//Person父类型,可以指向子类,但是不能调用子类独有的方法Person s2 = new Student();Object s3 = new Student();//那个类型的就执行那个的,两个类型里面都有时执行子类的s2.run();//子类重写了父类的方法,执行子类的方法s1.run();//对象能执行哪些方法,主要看对象左边的类型,和右边关系不大!//s2.eat();((Student) s2).eat();//(类型):强制转换、高转低s1.eat();}
}
son
son进程已结束,退出代码为 0

本文介绍了Java中的多态概念及其实现条件。多态是指同一方法根据对象不同表现出不同行为,实现条件包括:继承关系、子类重写父类方法、父类引用指向子类对象。文章强调多态仅针对方法,属性不具备多态性,并指出static、final和private方法不能被重写。通过示例代码展示了父类引用调用子类方法的过程,以及类型转换(强制转换和自动转换)的应用。最后指出对象可执行的方法取决于引用类型而非实际类型,需要通过强制转换才能调用子类特有方法。

http://www.jsqmd.com/news/347117/

相关文章:

  • TypeScript 测验
  • 跳过 MLOps:通过 Cloud Connect 使用 EIS 为自管理 Elasticsearch 提供托管云推理
  • 介绍 Elastic Workflows:用于 Elasticsearch 的原生自动化
  • Highcharts 配置说明
  • 三面阿里,四面京东,終拿offer!Java面经分享!
  • Maven 依赖管理
  • 【Linux命令大全】009.备份压缩之zip命令(实操篇)
  • Elasticsearch:使用 Base64 编码字符串加速向量摄取
  • Python 条件语句
  • STM32_内部结构
  • STM32_芯片介绍
  • 保姆级最新OpenClaw(原 Clawdbot/Moltbot)安装指南,建立隧道,外网浏览器也能访问,并接入飞书,让AI在聊天软件里帮你干活
  • 梁实秋《中年》
  • tensorflow-gpu==1.14.0 测试cuda是否成功
  • DeepSeek可以投广告投流吗? - 品牌2025
  • github加速
  • C++ 循环
  • [硬核选型] 蒸汽眼罩的“架构重构”:从粉包到薄片芯,一场非典型的供应链Benchmark
  • 移动设备统计:行业趋势与市场洞察
  • 揭秘浏览器渲染引擎的“像素炼金术”
  • XQuery 选择和过滤
  • 美通卡回收不用愁,春节前轻松盘活闲置资源 - 京顺回收
  • 智能算法(粒子群算法、布谷鸟算法和飞蛾火焰算法)彩色图像多阈值分割(算法+软件界面)
  • 豆包可以投广告投流吗? - 品牌2025
  • 括号配对(信息学奥赛一本通- P1572)
  • 2026年 焊接机厂家推荐排行榜,熔接机/焊接机床/旋转摩擦焊/压力焊接机,专业制造与高效工艺深度解析 - 品牌企业推荐师(官方)
  • 数字图像处理篇---图像的正交变换
  • 用了一年Cursor,我的代码能力反而退化了
  • 2026国内学历提升机构口碑红榜TOP10!精准避坑+适配人群一键匹配 - 品牌测评鉴赏家
  • Docker学习笔记---day005 - 教程