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

复制代码
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();
    }
}
相关推荐
泡海椒12 分钟前
PDF 表格样式优化:jquick-pdf 边框、圆角、背景色
java·开发语言·pdf
Beyond_System|系统之外1 小时前
【学编程】Python基础编程题100道(21-60)
开发语言·python·算法
景熙55231 小时前
15.Java 8 Stream 流入门到实战
java·开发语言·数据结构
wno7042 小时前
Spring Security权限控制
java·python·spring
杨运交2 小时前
[071][验证码模块]基于Spring拦截器的验证码认证设计思想
java·后端·spring
Geek-Chow3 小时前
CountDownLatch in Java
java
SL_staff3 小时前
从RBAC到场景化授权:《无忧·企业文档》三级权限模型的技术实践解析
java·开源·产品
传奇开心果编程4 小时前
【springboot基础语法学与练】第 1 课:从零开始
java·spring boot·后端·学习
SL_staff4 小时前
财务系统慎用低代码?从数据模型闭环看合规落地的技术实践
java·低代码·全栈
Bruce_Liuxiaowei4 小时前
Python 实例赋值遮蔽类属性:一个从不报错的静默陷阱
开发语言·python·语法糖