例如
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; } }
时间: 2024-08-02 22:37:02