Poison

Should Helper/Utility Classes Be Abstract?

You could just declare a private constructor that does nothing.

The problem with declaring the class “abstract” is that the abstract keyword usually means that class is intended to be subclassed and extended. That’s definitely not what you want here.

今天看到同事写的代码中将工具类声明为 abstract,猜测是为了防止将该工具类实例化?个人认为这种方法属于使用不当,于是查了下该问题,还是建议将工具类声明为 final,再创建一个私有的构造函数以防止该类被实例化。

References

java - Should Helper/Utility Classes be abstract? - Stack Overflow
java - Utility Class - What is the correct approach? - Stack Overflow
What is the best way to write utility classes in Java? - Quora