一是某个类只能有一个实例 ;
二是它必须自行创建这个实例;
三是它必须自行向整个系统提供这个实例
public class Singleton {
//在自己内部定义自己的一个实例,只供内部调用
private static Singleton instance = new Singleton();
//私有构造,不能在外部构造了
private Singleton(){
//do something
}
//这里提供了一个供外部访问本class的静态方法,可以直接访问
public static Singleton getInstance(){
return instance;
}
简单的理解:
1.必须有一个私有的静态对象指向自己
2.私有的构造方法,防止new对象
3.提供一个方法,供外部获取本身对象
外部调用:直接Singleton.getSigleton() 就行了。静态方法已经初始化好了。不用new Singleton()