定义
poly + morphism
多种 + 形态
分类
编译时多态
- 编译期间决定目标方法
- 通过overloading重载实现
- 方法名相同,参数不同
运行时多态
- 运行期间决定目标方法
- 同名同参
- overriding 重写和继承实现
- jvm决定目标方法
运行时多态实现机制
- JVM方法区
- invokeVirtual指令
- 方法表 (存放方法入口地址)
invokeVirtual index
运行的时候通过方法表寻找方法的实际(最终实现这个方法)入口地址,然后通过invokeVirtual index指令调用方法
JVM方法区存放的是所有实例方法