前言:以java记录
- 单例模式:有的时候允许自由创建某个类的实例没有意义,而且创建对象的系统开销大,所以我们在整个系统中只允许存在该类的唯一的实例。如果一个类只能创建一个实例,该类就是单例类,这种模式也叫单例模式
- 如何实现:
1、要保证该类不能自由创建实例,就需要把改类的构造器的访问权限设置成私有private。
2、需要提供一个公用的public方法,用来获取实例,且必须是类变量即用static修饰,因为调用该方法的不会是对象,而是类。
3、需要缓存已经创建的对象,用来判断是否已经创建。 - 优势:
1、减少重复创建对象所带来的系统开销
2、便于系统跟踪改实例的生命周期、状态等等
class Singleton{
//使用一个类变量缓存实例
private static Singleton instance;
//私有构造器,保证不能自由创建
private Singleton(){}
//共有方法获取实例
public static Singleton getInstance(){
//判断是否已经创建过对象
if(instance == null){
instance = new Singleton();
}
return instance;
}
}