- 1
- 0
- 约3.8千字
- 约 7页
- 2026-09-03 发布于河北
- 举报
多态高频面试题及详细答案(真实面试版)
一、基础认知类(初级必问)
1.什么是多态?用通俗的语言解释,结合代码场景说明
参考答案:
多态是面向对象三大特性(封装、继承、多态)的最后一个核心特性,通俗来说就是同一个行为,不同对象有不同的实现方式。
核心表现为:父类引用指向子类对象,程序运行时,会根据实际创建的子类对象类型,执行对应的方法逻辑,而不是父类的方法。
简单场景:定义动物父类,有一个叫声方法,猫、狗子类重写该方法。同样是“叫声”这个行为,猫会喵喵叫,狗会汪汪叫,这就是多态。
多态的核心价值:统一调用入口,不同子类自定义实现,极大提升代码扩展性。
2.实现多态的三个必要条件是什么?缺一不可吗?
参考答案:
必须同时满足三个条件,缺一不可:
第一,存在继承关系:子类必须继承父类(接口实现也属于广义的继承);
第二,方法重写:子类对父类的原有方法进行重新实现,否则调用的还是父类方法,无法体现多态;
第三,父类引用指向子类对象:也就是向上转型,语法格式为父类对象名=new子类()。
补充:如果没有继承、没有重写,仅仅是父类引用接子类对象,不会产生多态效果。
3.多态分为哪两种?编译期多态和运行期多态的区别
参考答案:
多态整体分为两类,Java中核心的、常说的多态,特指运行期多态。
1.编译期多态(静态多态)
核心体现:方法重载。在代码编译阶段,编译器根据方法的参
原创力文档

文档评论(0)