
单例类在某些时候我们只允许为某个类创建一个实例。要实现单例构造器不能暴露否则就可以自由创建很多个实例因此使用private的方法暴露一个方法由该方法来返回实例由于程序必须通过该方法来获取实例所以在调用该方法之前肯定没有实例因此只能通过类来调用所以该方法必须使用static修饰使用静态Field来“缓存”已有的实例每次在获取实例之前判断是否已经“缓存”过实例如果没有则新创建一个实例public class Singleton { //隐藏Singleton的构造器 private Singleton() {} private static Singleton st; public static Singleton getInstance() { if(st null) { st new Singleton(); } return st; } }