关于java的看法

来源:3-4 怎样理解 Java 的方法分派?

JKill

2023-03-01

感觉老师java这里讲的不太对哦,输出 hello sub这个结果应该不是单纯的静态分派吧,还有动态分派,您视频里可没有讲到动态分派

写回答

3回答

bennyhuo

2023-03-01

视频里面说的静态分派,是在确定调用的重载方法的版本,这个是要在编译时确定的。至于后面运行时输出什么,我们在视频一开头就介绍了,取决于实际的类型。同学如果觉得那里表述有疑问,可以明确一下视频的位置哈。
0
0

bennyhuo

2023-03-01

对,就是一星那里提到的,取决于实际类型,这个是动态分派。静态分派是指根据编译类型决定调用哪个方法,不矛盾的。
0
0

JKill

提问者

2023-03-01

编译时生成了字节码没错的,根据声明类型来确定的,然后呢,如果由编译时的声明类型决定,那么输出的是不是就应该是Hello super了,其实我理解是在找到对应的方法后,又动态的分派了,根据重载的类型点用了子类的方法,因此才输出了Hello sub

0
1
JKill
说错了是重写,进行动态分派
2023-03-01
共1条回复

大厂资深面试官 带你破解Android高级面试

改变视野和思维 深度与广度兼备的 Android 进阶面试指导课程

1636 学习 · 222 问题

查看课程