例如
[java] view plain copy public class DiskUtil { private DiskUtil() { } public static FUNC(){} } 这样的类,往往提供一些静态的函数来生成该类的实例,只要这个类有公开的属性、方法,得到实例引用的一方还是可以调用的,一个例子是singleton。
外面调用只能调用DiskUtil 的静态函数Func,而不能A a = new A();私有构造函数只能在函数内部调用,外部不能实例化,所以私有构造函数可以防止该类在外部被实例化
常见的应用是工具类和单例模式
[java] view plain copy package test.reflect; public class Singleton { private static Singleton s= null; //2.在本类内部声明对象S private Singleton() { //1.私有构造对象 防止外部实例化 } public static Singleton getInstance() { //创建外部程序可以调用该实例的方法 return s对象;Singleton是本类类型相当于int void。。。 if (s == null) { synchronized (Singleton.class) { if (s == null) { s = new Singleton(); } } } return s; } }