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

  • 本文关键字:静态方法 单独 方法 java
  • 更新时间 :
  • 英文 :


在实际类中使用方法更好,还是在Util类中使用静态方法更好?示例:

String name = user.getName();

String name = Utils.getName(user);

性能上有差别吗?

最好将方法放在它们逻辑上所属的位置。如果用户有一个可以访问的名称,那么在User类中定义getName()方法。它简单而有组织,便于维护代码。

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

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

至少有两个原因更喜欢将方法放在相关类中:

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

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

另一个考虑因素是,如果您有像Utils.getName(user)这样的静态方法,则应该有

  • 非专用CCD_ 6或
  • user.name上的公共getter

第一个是终止封装,第二个是在Utils.getName(user)只是一个简单get的情况下创建冗余。

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

最新更新