为什么我们需要动态绑定(java)?

xfb7svmp  于 2021-07-12  发布在  Java
关注(0)|答案(1)|浏览(342)

我读过很多关于java中静态绑定和动态绑定之间区别的文章,但是没有一篇真正谈到为什么我们需要动态绑定。为什么有些代码只能在运行时绑定?为什么不能在编译时绑定所有代码?
我理解方法重写和多态性的概念,但我不明白的是为什么编译器(在编译时)不能辨别对象来自子类,而应该使用该方法。

qxgroojn

qxgroojn1#

动态绑定允许相同的例程(函数、方法)作用于不同的类型 Liskov's Substitute Principal 例如

Set<Employee> fmList = getEmployees();

您可以轻松地替换 getEmployees() 返回特定类型的集合。
https://en.wikipedia.org/wiki/solid
如何看待多态性与亚型

相关问题