多态高频面试题及详细答案(真实面试版).docxVIP

  • 1
  • 0
  • 约3.8千字
  • 约 7页
  • 2026-09-03 发布于河北
  • 举报

多态高频面试题及详细答案(真实面试版).docx

多态高频面试题及详细答案(真实面试版)

一、基础认知类(初级必问)

1.什么是多态?用通俗的语言解释,结合代码场景说明

参考答案:

多态是面向对象三大特性(封装、继承、多态)的最后一个核心特性,通俗来说就是同一个行为,不同对象有不同的实现方式。

核心表现为:父类引用指向子类对象,程序运行时,会根据实际创建的子类对象类型,执行对应的方法逻辑,而不是父类的方法。

简单场景:定义动物父类,有一个叫声方法,猫、狗子类重写该方法。同样是“叫声”这个行为,猫会喵喵叫,狗会汪汪叫,这就是多态。

多态的核心价值:统一调用入口,不同子类自定义实现,极大提升代码扩展性。

2.实现多态的三个必要条件是什么?缺一不可吗?

参考答案:

必须同时满足三个条件,缺一不可:

第一,存在继承关系:子类必须继承父类(接口实现也属于广义的继承);

第二,方法重写:子类对父类的原有方法进行重新实现,否则调用的还是父类方法,无法体现多态;

第三,父类引用指向子类对象:也就是向上转型,语法格式为父类对象名=new子类()。

补充:如果没有继承、没有重写,仅仅是父类引用接子类对象,不会产生多态效果。

3.多态分为哪两种?编译期多态和运行期多态的区别

参考答案:

多态整体分为两类,Java中核心的、常说的多态,特指运行期多态。

1.编译期多态(静态多态)

核心体现:方法重载。在代码编译阶段,编译器根据方法的参

文档评论(0)

1亿VIP精品文档

相关文档