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
相关推荐
我命由我123454 小时前
Android Drawable - gradientclear sky .4 小时前
[freertos源码阅读]task.c任务篇XR1234567884 小时前
工业园区整体组网,方案对比怎么选?东东最爱敲键盘4 小时前
day9.C++多态之虚函数码云数智-园园4 小时前
类似小鹅通的知识付费小程序平台有哪些淡海水4 小时前
15-07-YooAsset面试篇-Unity性能优化与内存管理snow@li5 小时前
Java:跨平台原理与JDK、JRE、JVM全景深度解析Livia要学习5 小时前
Python闭包覆东流5 小时前
2.Java程序基础snow@li5 小时前
SpringBoot:全套生命周期全景详解/应用级+Bean级