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
相关推荐
似水明俊德4 小时前
02-C#.Net-反射-面试题Leinwin4 小时前
OpenClaw 多 Agent 协作框架的并发限制与企业化规避方案痛点直击薛定谔的悦4 小时前
MQTT通信协议业务层实现的完整开发流程enjoy嚣士5 小时前
springboot之Exel工具类Thera7775 小时前
C++ 高性能时间轮定时器:从单例设计到 Linux timerfd 深度优化罗超驿5 小时前
独立实现双向链表_LinkedList炘爚6 小时前
C语言(文件操作)阿蒙Amon6 小时前
C#常用类库-详解SerialPort盐水冰6 小时前
【烘焙坊项目】后端搭建(12) - 订单状态定时处理,来单提醒和顾客催单凸头6 小时前
CompletableFuture 与 Future 对比与实战示例