助手/实用程序类应该抽象吗?


问题内容

我通常会发现自己将类的常见行为提取到帮助程序/实用程序类中,该类只包含一组静态方法。我经常想知道是否应该将这些类声明为抽象类,因为我真的想不出实例化这些类的有效理由吗?

将这样的类声明为抽象将是什么利弊。

public [abstract] class Utilities{

   public static String getSomeData(){
       return "someData";
   }

   public static void doSomethingToObject(Object arg0){
   }
}

问题答案:

您可以声明一个不执行任何操作的私有构造函数。

声明类“抽象”的问题是abstract关键字通常意味着该类打算被子类化和扩展。那绝对不是你想要的。