【问题标题】:Overloading Method Efficiency重载方法效率
【发布时间】:2017-12-15 03:06:50
【问题描述】:

我想知道为什么这被认为是编码风格的好习惯。

public void advance() {
    advance(1);
}

public void advance(int numberofDays) {
// code here  }

我知道这种写重载方法的方式会让你的重复代码少一些,但是不是效率低吗?因为你正在调用另一个方法。

【问题讨论】:

  • 这是多态性,不,它的效率并没有降低(或者效率明显降低); Java非常擅长方法调用。

标签: java methods overloading


【解决方案1】:

一个视图:

您可以将处理逻辑集中在单个函数中,在本例中为带有//code here 的函数

可以在不带参数的函数上编写 Javadoc 注释,以指示将按照默认假设执行逻辑。

与您获得更好的代码结构的好处相比,JVM 中的函数调用几乎不会导致任何显着的性能下降

【讨论】:

  • 感谢您的回答和解释!
【解决方案2】:

在另一种方法中调用一种方法同样有效。 大多数人喜欢做方法重载是因为以下原因

假设您使用相同的代码创建了多个函数。现在的问题是,每当您想修复任何错误时,您都必须在多个地方进行修复。当您有一个小项目时,这是可以的。在更大的产品中,这是一项艰巨的任务,而且测试工作量也会增加。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-17
    • 1970-01-01
    • 1970-01-01
    • 2017-09-26
    • 2015-08-09
    • 2017-04-09
    • 1970-01-01
    • 2010-09-30
    相关资源
    最近更新 更多