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
相关推荐
咖啡八杯40 分钟前
GoF设计模式——解释器模式优橙教育1 小时前
5G网优培训 vs Java开发:转行选哪个?糖果店的幽灵1 小时前
【DeepAgents 从入门到精通】Context Management 上下文管理腻害兔2 小时前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:字典、短信、邮件、通知——后台系统的“基础设施四件套“!SeaTunnel3 小时前
从 Python Script 地狱到标准化数据集成框架碎光拾影3 小时前
ARM交叉工具链各工具作用及IMX6ULL平台LED+蜂鸣器裸机程序实现Marst Code4 小时前
(python)2026Plotly 库评估:交互式可视化到底值不值得引入?Miao121314 小时前
微服务 API 测试实践:海外某民宿平台如何构建模式驱动测试基础设施腻害兔4 小时前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:支付模块 yudao-module-pay,一个让产品经理都看懂的支付中台设计CRMEB系统商城5 小时前
开源自建还是SaaS订阅?算一笔3年经济账