Java面向对象系列(10)- 什么是多态
2023-02-18 16:23:04 时间
多态
- 即同一方法可以根据发送对象的不同而采取不同的行为方式
- 一个对象的实际类型是确定的,但可以指向对象的引用类型有很多
- 多态存在的条件
- 有继承关系
- 子类重写父类方法
- 父类引用指向子类对象
- 注意:多态是方法的多态,属性没有多态性
- instanceof
package oop.demo06; public class Person { public void run(){ System.out.println("Person Run"); } }
package oop.demo06; public class Student extends Person { @Override public void run() { System.out.println("Student Run"); } public void eat(){ System.out.println("Student Eat"); } }
package oop; import oop.demo05.A; import oop.demo05.B; import oop.demo06.Person; import oop.demo06.Student; 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(); s1.run(); s2.run(); s1.eat(); s2.eat();//不能调用子类都有的方法 //对象能执行哪些方法,主要看对象左边的类型和右边的关系不大 } }
多态注意事项
- 多态是方法的多态,属性没有多态
- 父类和子类,有联系,类型转换
- 存在条件:继承关系,方法需要重写,父类引用指向子类对象!Father f1 = new Son()
什么情况下方法不能重写
- static方法,属于类,它不属于实例
- final常量
- private方法,私有的
相关文章
- 比Sqoop功能更加强大开源数据同步工具DataX实战
- 实时采集MySQL数据之轻量工具Maxwell实操
- 可视化编排的数据集成和分发开源框架Nifi轻松入门-上
- 秒级查询之开源分布式SQL查询引擎Presto实操-上
- 大数据下一代变革之必研究数据湖技术Hudi原理实战双管齐下-后续
- 大数据下一代变革之必研究数据湖技术Hudi原理实战双管齐下-下
- 大数据下一代变革之必研究数据湖技术Hudi原理实战双管齐下-中
- 大数据下一代变革之必研究数据湖技术Hudi原理实战双管齐下-上
- 成熟企业级开源监控解决方案Zabbix6.2关键功能实战-下
- 成熟企业级开源监控解决方案Zabbix6.2关键功能实战-上
- 鹅厂微服务发现与治理巨作PolarisMesh实践-上
- 即兴小探华为开源行业领先大数据虚拟化引擎openLooKeng
- 企业大数据发展面临问题之存算分离技术思考
- 大数据技术之HBase原理与实战归纳分享-下
- 大数据技术之HBase原理与实战归纳分享-中
- 大数据技术之HBase原理与实战归纳分享-上
- 云原生强大且灵活的持续集成CI开源框架Tekton实战-上
- 数仓Hive和分布式计算引擎Spark多整合方式实战和调优方向
- 大规模数据分析统一引擎Spark最新版本3.3.0入门实战
- Hive数据仓库工具基本架构和入门部署详解