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
相关推荐
小白探索世界欧耶!~1 天前
用iframe实现单个系统页面在多个系统中复用2501_941878741 天前
在奥克兰云原生实践中构建动态配置中心以支撑系统稳定演进的工程经验总结weixin_443297881 天前
Python打卡训练营第31天围炉聊科技1 天前
Vibe Kanban:Rust构建的AI编程代理编排平台2501_941802481 天前
从缓存更新到数据一致性的互联网工程语法实践与多语言探索hqwest1 天前
码上通QT实战04--主窗体布局拆房老料1 天前
文档预览开源选型对比:BaseMetas FileView 与 KK FileView,谁更适合你的系统?Frank_refuel1 天前
C++之内存管理leiming61 天前
c++ qt开发第一天 hello world