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
相关推荐
期待のcode几秒前
Java 共享变量的内存可见性问题会游泳的石头1 分钟前
深入剖析 Java 长连接:SSE 与 WebSocket 的实战陷阱与优化策略yutian06062 分钟前
TI-C2000 系列 TMS320F2837X 控制律加速器(CLA)应用夕阳之后的黑夜10 分钟前
Python脚本:为PDF批量添加水印lllljz13 分钟前
blenderGIS出现too large extent错误女王大人万岁13 分钟前
Go标准库 path 详解qq_124987075323 分钟前
基于spring boot的调查问卷系统的设计与实现(源码+论文+部署+安装)一路往蓝-Anbo25 分钟前
第 2 篇:单例模式 (Singleton) 与 懒汉式硬件初始化321.。26 分钟前
从 0 到 1 实现 Linux 下的线程安全阻塞队列:基于 RAII 与条件变量疯狂的喵27 分钟前
实时信号处理库