java - 编译时多态性

标签 java polymorphism

我有一个关于 java 中编译时多态性的问题。

方法重载是一种实现编译时多态性的方式吗?如果是,这是唯一的方法吗?小例子会对我有很大帮助。

我在网上搜索过,不同的来源给出了不同的答案,令人困惑。这就是为什么我想到在这里问它。

提前致谢。

最佳答案

我找到了这个 external source .它声明没有“编译时多态性”。您可能是指“运行时多态性”?

从本质上讲,多态性是指一个方法不是由在编译时定义的固定方法实现执行的特性,而是在运行时查找选择哪个方法实现来执行调用。

比如Java中有Object::equals,它在“Object”类中有实现。如果您创建自己的类,该类具有自己的“equals”方法实现,则在比较实例时将选择该实现,而不是“Object”类中定义的实现。

当一个方法的完整实现列表未知时,多态性非常有用,例如因为您提供了一个在程序/其他库中使用的库,这些库可以声明自己的(派生的)类来实现该方法。

关于java - 编译时多态性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43416756/

相关文章:

java - 如何向二维数组添加数据?

java - 如何在 Java 中打印出 List 的所有元素?

c# - 从基类的构造函数访问子类的属性

c++ - 我可以使用多态性将不同的对象存储在 C++ 的数组中吗?

Java 接口(interface)多态性

java - 如何从 MaterialDatePicker 获取日期?

java - 如何执行分面搜索?

c++ - 执行一个函数来影响不同的模板类实例

java - while循环停止条件缺失

.net - F# 具有类型和接口(interface)继承的奇怪行为