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
相关推荐
San813_LDD2 小时前
[C语言]《Dev-C++ 报错解决手册(Day0607 精华版)》Anastasiozzzz3 小时前
从有限状态机到智能体图:传统 FSM 与 Agent Graph的演进fqbqrr8 小时前
2606C++,C++构的多态biter down9 小时前
从 0 到 1 搭建 Python 接口自动化测试框架(博客系统实战)wang09079 小时前
自己动手写一个spring之IOC_2来杯@Java9 小时前
学生选课管理系统(基于springboot+vue前后端分离的项目)计算机毕业设计javathreelab10 小时前
Three.js 物理模拟着色器 | 三维可视化 / AI 提示词武器大师7210 小时前
lv_binding_js 代码解读不知名的老吴10 小时前
线程的生命周期之线程“插队“