创建Utils工具类的最佳实践
前言
有些类我们不希望实例化, 比如 ArrayUtils
。
实例化这些工具类是没有意义的。
最佳实践
- 使用
final
、abstract
修饰class
。 - 私有化构造函数
- 构造函数抛出异常
1
2
3
4
5
6
7
8
9
10
11// abstract类不能直接实例化, 只能由子类实例化
// final类不能实例化
public abstract class ArrayUtils {
// 私有化构造函数, 子类必须调用父类的构造函数, 但是又调用不了
private ArrayUtils() {
// 防止反射创建, 抛出异常
throw new AssertionError("工具类不允许实例化");
}
// 工具方法
public static void sort(Integer... arr){}
}