![]() |
1
1
当你打电话
因此,只有
要理解的重要一点是,方法重载解析发生在编译时。只有调用该方法的引用变量的编译时类型才能确定哪些方法签名是方法重载解析的候选者,以及将选择哪些候选者。 |
![]() |
2
1
我刚在另一个论坛上找到这个: 重载:(相同的函数名但不同的签名)
重写:(相同的函数名但相同的签名)
因此,我的问题的答案似乎是,重写解决方案(比如display())发生在运行时(这里在a=c之后),而重载解决方案(比如f())发生在编译时,而a仍然是a。 我想。 我还找到了这个页面: https://beginnersbook.com/2013/04/runtime-compile-time-polymorphism/ 明确并与本主题高度相关。 |
![]() |
3
0
编译器选择的方法取决于声明的类型,而不是运行时类型。
对于第二个系列,编译器使用与调用匹配的最特定参数绑定方法,因为
但在最后一段可能会质疑你自己的代码中,
所以只有在
|
![]() |
4
0
我会尽量澄清一下@eran的答案,以便你能理解。
一个子类拥有它的超类的所有方法,然后可能还有更多的方法。您有一个类型的变量
你
可以
然而呼叫
|
|
user29759326 · 如何返回递归函数中的最后一个值? 7 月前 |
|
malife89 · 将java中的字符串读取为正确的日期格式 7 月前 |
![]() |
Tim · 在java中,有没有更快的方法将字节数组写入文件? 7 月前 |
![]() |
rudraraj · java中未声明最终变量 8 月前 |
![]() |
Bala Ji · 以下BFS的实施效率如何? 8 月前 |