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
相关推荐
人活一口气33 分钟前
从JVM调优到MCP协议:Java全栈技术体系深度总结与企业级架构实践NE_STOP2 小时前
Vibe Coding -- 完整项目案例实操荣码2 小时前
GraphRAG:普通RAG只能回答"点"的问题,我踩了4个坑才搞懂SimonKing2 小时前
Google第三方授权登录明月光8182 小时前
从一行 @Builder 说起:重新拾起 Java 的 Lombok、注解与 Builder 模式考虑考虑12 小时前
Mybatis实现批量插入咖啡八杯12 小时前
GoF设计模式——中介者模式青石路16 小时前
记一次多JDK版本问题的排查,一坑套一坑,差点没爬上来像我这样帅的人丶你还19 小时前
Java 后端详解(五):Redis 缓存plainGeekDev21 小时前
GreenDAO → Room