【Effective Java 04】通过私有构造器强化不可实例化的能力
- 有时我们会编写一些只含静态方法的一些工具类,我们不希望使用这些类的人创建该类的实例对象。例如,
java.lang.Math
、java.util.Arryas
。此时, 我们可以将该类的构造器私有化。 - 此外, 有时我们希望用户只能从工厂方法得到实例对象,也可以将该类的构造器私有化。
public class UtilityClass {
public static int plus(int a, int b) {
return a + b;
}
public static int minus(int a, int b) {
return a - b;
}
public static int mul(int a, int b) {
return a * b;
}
public static int div(int a, int b) {
return a / b;
}
private UtilityClass() {
}
}