面试题四:怎样理解Java的方法分派?
怎样理解Java的方法分派?
一、面试官视角:这道题想考察什么?
- 多态、虚方法表的认识
- 对编译和运行时的理解和认识
- 对Java语言规范和运行机制的深入认识
- 横向对比各类语言的能力
- Groovy,Gradle DSL 5.0以前唯一正式语言
- C++,Native程序开发必备
二、题目剖析:
怎样理解Java的方法分派?
就是确定调用谁的、哪个方法
针对方法重载的情况进行分析
针对方法覆写的情况进行分析
调用谁的:取决于调用者在运行时的实际类型。
调用哪个:取决于调用者在编译时的声明类型和参数类型是否一致。
- 静态分派 - 方法重载分派
- 编译期确定
- 依据调用者的声明类型和方法参数类型匹配分派
- 动态分派 - 方法覆写分派
- 运行时确定
- 依据调用者的实际类型分派
- 静态分派 - 方法重载分派
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!