1. 单例模式之饿汉式:静态成员成员变量方式

46 阅读1分钟
package com.pattern.pattern01.singleton01;

/**
 * @Author:kaiyang.cui
 * @Package:com.pattern.pattern01.singleton01
 * @Project:Pattern23
 * @name:Singleton
 * @Date:2023/4/12 下午11:55
 * @Filename:Singleton
 * @Description:饿汉式:静态成员成员变量方式
 * @Version:1.0
 */
public class Singleton {

    /**
     * 1. 私有构造方法
     */
    private Singleton(){

    }

    //2. 在本类中创建本类对象
    private static Singleton singleton = new Singleton();

    /**
     * 3. 提供一个公共的访问方式,让外界获取该对象
     * @return 私有构造方法的对象
     */
    public static Singleton getInstance(){
        return singleton;
    }
}
package com.pattern.pattern01.singleton01;

/**
 * @Author:kaiyang.cui
 * @Package:com.pattern.pattern01.singleton01
 * @Project:Pattern23
 * @name:Client
 * @Date:2023/4/13 上午12:43
 * @Filename:Client
 * @Description:判断饿汉式获取到的两个对象是否是同一个对象,结果为true,验证了单例模式只能创建一个对象
 * @Version:1.0
 */
public class Client {

    public static void main(String[] args) {
        // 创建Singleton类的对象
        Singleton instance1 = Singleton.getInstance();

        Singleton instance2 = Singleton.getInstance();

        // 判断获取到的两个对象是否是同一个对象
        // true
        System.out.println(instance1 == instance2);

    }
}