多态:编译时看左边,运行时看右边

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