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
相关推荐
lolo大魔王5 分钟前
Go语言的循环语句、判断语句、通道选择语句551只玄猫2 小时前
【数学建模 matlab 实验报告12】聚类分析和判别分析小陈工4 小时前
Python Web开发入门(十七):Vue.js与Python后端集成——让前后端真正“握手言和“H Journey4 小时前
C++之 CMake、CMakeLists.txt、Makefile一定要AK8 小时前
Spring 入门核心笔记A__tao8 小时前
Elasticsearch Mapping 一键生成 Java 实体类(支持嵌套 + 自动过滤注释)KevinCyao8 小时前
java视频短信接口怎么调用?SpringBoot集成视频短信及回调处理Demolly2024068 小时前
C 标准库 - `<stdio.h>`沫璃染墨8 小时前
C++ string 从入门到精通:构造、迭代器、容量接口全解析jwn9998 小时前
Laravel6.x核心特性全解析