比如
public class DiskUtil {
private DiskUtil() { }
public static FUNC(){}
}
这种类,往往提供一些静态的函数来生成该类的实例,仅仅要这个类有公开的属性、方法。得到实例引用的一方还是能够调用的,一个样例是singleton。
外面调用仅仅能调用DiskUtil 的静态函数Func,而不能A a = new A();私有构造函数仅仅能在函数内部调用。外部不能实例化。所以私有构造函数能够防止该类在外部被实例化
常见的应用是工具类和单例模式
package test.reflect;
public class Singleton {
private static Singleton s= null;
private Singleton() {
}
public static Singleton getInstance() {
if (s == null) {
synchronized (Singleton.class) {
if (s == null) {
s = new Singleton();
}
}
}
return s;
}
}