Java 23种设计模式---------单例模式
单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种。这里只介绍懒汉式单例和饿汉式单例。
在Java应用中,单例对象可以保证在一个JVM中,该对象只有一个实例存在。
单例模式有以下优点:
1、单例类只能有一个实例。
2、单例类必须自己创建自己的唯一实例。
3、整个系统都要使用这个实例,可以全局访问。
4、省去了 new 操作符,降低了系统内存的使用频率,减轻 GC 压力
饿汉式单例在单例类被加载的时候,就实例化一个对象交给自己引用。
分析:
一个类在该类的外部只有一个对象(实例)
★创建类的对象-----构造方法-----私有(private)
★其他类创建此类对象
·单例类有静态方法,共有的,该方法返回的是单例的唯一实例。
·在其他类不会调用单例类的构造方法,因为单列的实例对象是在单例类的里面创建的,当然是在单例类自己调用自己构造方法。从而在其他类中调用单例的静态方法得到单例的唯一实例。
★私有 静态变量
·不能使用局部变量(否则每调用一次方法会创建一个对象)
private static Single s = new Single();
·静态方法中不能直接引用非静态的成员变量
public static Single getInstance() {
return s;
}