Java基础笔记32——单例模式

单例模式:类在内存中仅存在一个实例

 

好处:

1.节省内存

2.共享对象


单例模式要点:

1.某个类中只能有一个实例

2.它必须自行创建这个示例

3.必须自行向整个系统提供这个实例


实现步骤:

1.构造函数私有化,用private修饰
2.自行创建实例
3.对外提供一个公有的方法,返回这个实例

 

饿汉式

package com.lqh.chapter03;

public class _31singleton {
    public static void main(String[] args) {
        Singleton test1 = Singleton.getInstance();
        Singleton test2 = Singleton.getInstance();
        System.out.println(test1);//地址一样,得到的都是同一个对象
        System.out.println(test2);
    }
}
//饿汉式
class Singleton {
    // 2.自行创建实例
    private static Singleton instance = new Singleton();

    // 1.构造函数私有化
    private Singleton() {

    }

    public static Singleton getInstance() {
        return instance;
    }

}

 

懒汉式:

package com.lqh.chapter03;

public class _31singleton2 {
    public static void main(String[] args) {
        Singleton test1 = Singleton.getInstance();
        Singleton test2 = Singleton.getInstance();
        System.out.println(test1);//地址一样,得到的都是同一个对象
        System.out.println(test2);
    }
}
//懒汉式
class Singleton2 {
    // 2.自行创建实例
    private static Singleton2 instance = null;

    // 1.构造函数私有化
    private Singleton2() {

    }

    public static Singleton2 getInstance() {
        if(instance == null) {
            instance = new Singleton2();
        }
        return instance;
    }

}

 


详细内容:

https://www.runoob.com/design-pattern/singleton-pattern.html

 

 

 

上一篇:Volatile的应用DCL单例模式


下一篇:C++--22.特殊类的设计