什么是单例设计模式
单例设计模式 是我们学习的第一个设计模式,也是比较重要的一个设计模式。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。今天,我们就学习单例设计模式的实现方式。
单例设计模式:保证程序在内存中只有一个对象存在(被程序所共享)
单例设计模式的两种实现方式
一、懒汉式:随着类的加载在内存中对象为null,当调用 getInstance 方法时才创建对象(延迟加载)
懒汉式实现如下:
class Single{
private Single(){}
private static Single s1 = null;
public static Single getInstance(){
if(s1 == null){
s1 = new Single();
}
return s1;
}
}
二、饿汉式:随着类的加载直接创建对象(推荐开发中使用)
饿汉式实现如下:
class Single2{
private Single2(){}
private static Single2 s = new Single2();
public static Single getInstance(){
return s;
}
void print(){
System.out.println("Hello World!");
}
}
单例设计模式的实现步骤
1.保证一个类只有一个实例,实现方式:构造方法私有化
2.必须要自己创建这个实例,实现方式:在本类中维护一个本类对象(私有,静态)
3.必须向整个程序提供这个实例,实现方式:对外提供公共的访问方式(getInstance方法,静态)