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
相关推荐
saber_andlibert6 分钟前
TCMalloc底层实现明月醉窗台6 分钟前
qt使用笔记六之 Qt Creator、Qt Widgets、Qt Quick 详细解析wangjialelele9 分钟前
平衡二叉搜索树:AVL树和红黑树m0_4811473315 分钟前
拦截器跟过滤器的区别?拦截器需要注册吗?过滤器需要注册吗?lili-felicity17 分钟前
CANN性能调优与实战问题排查:从基础优化到排障工具落地Coder_Boy_18 分钟前
基于SpringAI的在线考试系统-相关技术栈(分布式场景下事件机制)独自破碎E19 分钟前
【BISHI15】小红的夹吃棋冻感糕人~21 分钟前
【珍藏必备】ReAct框架实战指南:从零开始构建AI智能体,让大模型学会思考与行动啦啦啦_999926 分钟前
Redis实例-2alice--小文子31 分钟前
cursor-mcp工具使用