先抄一段,见《深入理解java虚拟机 JVM高级特性与最佳实践》p254

由于 invokevirtual 指令执行的第一步就是在运行期确定接收者的实际类型,所以两次调用中的invokevirtual 指令把常量池中的类方法符号引用解析到了不同的直接引用上,这个过程就是Java 语言中方法重写的本质。把这种在运行期根据实际类型确定方法执行版本的分派称为动态分派。

Java 语言的动态分派属于单分派类型;静态分派属于多分派类型

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐