工具类,一般是静态成员的集合,意味着不会实例化。 它们不应该包含public构造方法。

Java提为所有class都提供了一个默认的public构造方法,不用显示定义。 因此,至少需要定义一个非public构造方法。

如下代码所示:

class StringUtils { // Non-Compliant

  public static String concatenate(String s1, String s2) {
    return s1 + s2;
  }

}

应该重构为:

class StringUtils { // Compliant

  private StringUtils {
  }

  public static String concatenate(String s1, String s2) {
    return s1 + s2;
  }

}