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

复制代码
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();
    }
}
相关推荐
2401_890603409 小时前
Python入门语法(一)
java·开发语言·python
小蒜学长9 小时前
springboot党建云课堂学习与管理系统(代码+数据库+LW)
java·数据库·spring boot·后端·学习
mldong9 小时前
六语言引擎实现对比:同构背后的妥协与差异
java·架构
Chester_199917 小时前
CSP202203C.计算资源调度器
开发语言·数据结构·c++·蓝桥杯
EXI-小洲18 小时前
Java 操作 Word:字符串替换、图片插入、动态生成表格与API接口下载
java·开发语言·spring boot·word
会周易的程序员19 小时前
给 PLC 写一个字节码虚拟机:STVM 虚拟机架构设计
开发语言·c++·虚拟机·软plc·iec61131·stvm
机器视觉知识推荐、就业指导19 小时前
为什么老说“纯 Qt 没啥就业市场”?
开发语言·qt
telepan19 小时前
Qt 开发避坑与性能指南:如何优雅、安全地定义全局常量字符串?
开发语言·qt
m0_6952514919 小时前
Qt MaintenanceTool 使用国内镜像加速下载(超详细教程)
开发语言·qt