将方法放在实际的类中或作为静态放在单独的类中

时间:2015-12-22 15:25:50

标签: java

在实际的类中使用方法或将它们作为静态的Util类更好吗? 例如:

String name = user.getName();

String name = Utils.getName(user);

性能有差异吗?

5 个答案:

答案 0 :(得分:5)

最好将方法放在逻辑上属于的地方。如果用户具有可以访问的名称,则在User类中定义getName()方法。它简单有序,便于维护代码。

答案 1 :(得分:0)

如果您尝试以静态方式访问事物,并且您不需要与某个类的特定实例有任何关系,那么请保持静态。

它会更具可读性,您将节省内存(没有new关键字!),并且更易于管理。

答案 2 :(得分:0)

至少有两个理由希望将这些方法放在相关的类中:

  • 将强烈相关的代码组合在一起使阅读更容易。
  • 使用最小范围可降低方法开发多个仅与巧合相关的用途的风险。这可能会抑制重构。

这两个原因都不适用于真正的实用方法,例如Math.sin

答案 3 :(得分:0)

还有一个考虑因素是,如果你有像Utils.getName(user)那样的静态方法方法,你应该有

  • 非私人user.name
  • user.name
  • 上的公共吸气者

首先杀死封装,然后在Utils.getName(user)只是一个简单的获取的情况下创建冗余。

答案 4 :(得分:0)

User.getName(user)保留了封装,但允许静态函数的优点。所有这些选项都可能符合您的需要。