public class Polymorphism {
public static void main(String[] args) {
Animal a1 = new Dog();
Animal a2 = new Cat();
/*
多态的编译过程会先看左边的类型,导致子类的函数不能用。但是多态在运行的时候会看右边,自动匹配子类对象
a1.eat();
a1.bark();//运行时多态看左边,左边是Animal类型,没有bark方法,导致报错
a2.eat();
a2.meow();//运行时多态看左边,左边是Animal类型,没有meow方法,导致报错
*/
a1.eat();
((Dog)a1).bark();
a2.eat();
((Cat)a2).meow();
}
}
多态:编译时看左边,运行时看右边
亓才孓2026-01-07 13:24
相关推荐
2401_890603409 小时前
Python入门语法(一)小蒜学长9 小时前
springboot党建云课堂学习与管理系统(代码+数据库+LW)mldong9 小时前
六语言引擎实现对比:同构背后的妥协与差异Chester_199917 小时前
CSP202203C.计算资源调度器EXI-小洲18 小时前
Java 操作 Word:字符串替换、图片插入、动态生成表格与API接口下载会周易的程序员19 小时前
给 PLC 写一个字节码虚拟机:STVM 虚拟机架构设计机器视觉知识推荐、就业指导19 小时前
为什么老说“纯 Qt 没啥就业市场”?telepan19 小时前
Qt 开发避坑与性能指南:如何优雅、安全地定义全局常量字符串?m0_6952514919 小时前
Qt MaintenanceTool 使用国内镜像加速下载(超详细教程)