【问题标题】:Static method in Java - Best Practice?Java中的静态方法 - 最佳实践?
【发布时间】:2017-05-23 21:06:25
【问题描述】:

我想知道,使用静态方法(如下例所示)是好是坏。让我知道,你的想法:)

class SomeClass{

    static String appendString(String text){
        return text + "a";
    }
}

这是一个纯粹的例子,但我经常使用这种方法。我总是传递所有必需的参数,永远不要在方法类中使用任何内容。

【问题讨论】:

  • 取决于您的业务逻辑,如果您不需要添加任何动态逻辑,并且您始终附加值“a”就可以了,我没有看到问题,但再次取决于您需要什么并且如果你有 4 种方法做同样的事情并改变“a”值,那么我会使用不同的方法来重用代码
  • static 方法很好;但不要仅仅因为您试图避免传递SomeClass 的实例而使用它们。您将到达需要模拟该方法的地步(它总是比您预期的要快);那你真的吃饱了。
  • 好的,谢谢大家。当我为 Android 编写代码时,你知道这有什么不同吗?

标签: java function methods static


【解决方案1】:

总的来说,就静态方法调用的结果而言,没有任何副作用,这种方法没有问题。

不过,您必须牢记一个问题。对调用静态方法的类进行单元测试。如果您使用实际对象,您可以使用test double 并模拟(模拟)行为,这在引用静态方法时是不可能的。

【讨论】:

    【解决方案2】:

    我喜欢对在我的项目中经常重复使用的函数使用静态方法。

    所以,在我看来,如果要在许多不同的类中使用此方法,那么请将其设为静态。

    【讨论】:

      【解决方案3】:

      这取决于您方法的内容。根据您的示例,我会说使用 appendString 方法的静态标识符是有效的。通常,任何不需要构造对象的实例成员的方法都可以是静态的。如果您只是对传入的某些值/数据进行操作(例如,将度数转换为弧度),那完全可以。

      【讨论】:

        猜你喜欢
        • 2015-10-03
        • 1970-01-01
        • 2020-02-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-17
        相关资源
        最近更新 更多