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);
}
}