使类抽象vs使构造函数私有

Des*_*PRG 7 java oop

我脑子里有一个设计问题.假设我有一个只有静态方法的类,那么下面两个中最好的设计选项是什么.

  • 使类抽象化
  • 使构造函数成为私有的,这样类外的代码就不能生成这个类的对象.

选择取决于具体情况还是有最好的方法?为什么?

Lok*_*oki 9

使类抽象假定您希望继承此类.如果您希望这种情况发生,那么请将其抽象化.

如果您只有静态方法(所以它是某种实用类),那么请使用第二种方法.
虽然创建此类的实例没有任何问题,因为没有这种方式的好处或缺点,最好的做法是使构造函数对于实用程序类是私有的.