Java 方法重载和方法重写的性能问题

Java 方法重载和方法重写的性能问题,java,c++,oop,overloading,overriding,Java,C++,Oop,Overloading,Overriding,我只是想理解多态性,关于方法重载和方法重写的经典讨论来了,让我困惑的是性能问题。 因此,如果情况是我可以接受这两个概念中的任何一个,那么哪一个更好呢。 我在谷歌上搜索了一下,但没有得到任何有成果的东西 我知道它们完全是两个不同的概念,并且有它们自己的重要性和用途,但是万一有机会选择一个方法重写还是方法重载呢 选择一个更喜欢方法重写还是方法重载 大多数绩效问题实际上应被视为:;实现此代码最简单、最清晰的方法是什么 在这种情况下,它与性能没有任何关系。只要坚持使用最简单、最清晰的选项即可 从学术界的

我只是想理解多态性,关于方法重载和方法重写的经典讨论来了,让我困惑的是性能问题。 因此,如果情况是我可以接受这两个概念中的任何一个,那么哪一个更好呢。 我在谷歌上搜索了一下,但没有得到任何有成果的东西

我知道它们完全是两个不同的概念,并且有它们自己的重要性和用途,但是万一有机会选择一个方法重写还是方法重载呢

选择一个更喜欢方法重写还是方法重载

大多数绩效问题实际上应被视为:;实现此代码最简单、最清晰的方法是什么

在这种情况下,它与性能没有任何关系。只要坚持使用最简单、最清晰的选项即可

从学术界的角度来看,假设我们可以同时使用这两个概念来解决一个问题,那么我们会选择哪一个呢

你需要举个例子,因为我想不出一个

求3个几何形状的面积

我将重写Shape.area方法,在Java中,这将更简单,速度与三个重载方法一样快,具体取决于您如何实现它

说是你干的

Triangle t = 
Circle c = 
Square s = 
double area = t.area() + c.area() + s.area();
这将是一样快

double area = t.area("String") + c.area(123L) + s.area(MyEnum.VALUE);

假设参数只是为了强制调用不同的重载方法,但正如您所见,这并不简单,也不清楚您为什么要这样做。

答案在您自己的问题中。完全是两个不同的概念,它们不是彼此的替代品,因此没有机会选择任何一个。你有一组类的例子吗?你会在方法重载和重写之间做出选择吗?是的,它们不是相互替代的,但我只是想从学术的角度来看,假设我们可以用这两个概念来解决一个问题,那么哪一个更合适?只有从理解的角度来看,我可以重载或重写面积方法来找到3个几何形状的面积。@Sham重载比重写性能更好。@Peter我提到过一种可以重载或重写的情况或者覆盖一个区域来计算不同几何体的面积。@这完全取决于你如何调用这些方法,它们是不可交换的。是的,我明白你的意思,它们是不可交换的,但你为什么选择覆盖?这就是我想知道的