Java 任何方法重载都是编译时多态性吗?

Java 任何方法重载都是编译时多态性吗?,java,oop,polymorphism,Java,Oop,Polymorphism,我参考了一些java教程,发现java有两种多态性 编译时多态性(静态多态性) 运行时多态性(动态多态性) 一些学习参考文献提到了“如果在Java中重载静态方法,这就是编译时多态性的例子”。还有一些提到了“方法重载是编译时多态性的一个例子” 我想知道的是,是否只有静态方法重载或每个方法重载是java编译时多态性 因为在阅读第一点时,我感觉到为什么特别提到静态方法,为什么不提到实例方法和构造函数 在Java中,选择调用哪种重载总是在编译时进行的。这适用于静态方法、实例方法以及构造函数 请注意,这两

我参考了一些java教程,发现java有两种多态性

  • 编译时多态性(静态多态性)
  • 运行时多态性(动态多态性)
  • 一些学习参考文献提到了“如果在Java中重载静态方法,这就是编译时多态性的例子”。还有一些提到了“方法重载是编译时多态性的一个例子”

    我想知道的是,是否只有静态方法重载或每个方法重载是java编译时多态性

    因为在阅读第一点时,我感觉到为什么特别提到静态方法,为什么不提到实例方法和构造函数


    在Java中,选择调用哪种重载总是在编译时进行的。这适用于
    静态
    方法、实例方法以及构造函数

    请注意,这两种说法并不矛盾。第一个是“如果您重载了一个静态方法…”,它给出了一个正确的示例,但并不排除其他示例。同样,另一条语句“方法重载是编译时多态性的一个示例”更广泛,仍然正确,但没有提到构造函数。只要这些语句没有声称命名了所有现有示例,它们就是正确的


    尽管如此,对于实例方法,除了编译时多态性之外,所选重载在被重写时也可能受到运行时多态性的影响。使用重载和重写的方法很容易导致错误,因此应谨慎使用或避免。

    每个方法都重载。运行时多态性是指重写方法。