package com.design.patterns;
/**
*饿汉式使用代码块
*
*1)构造器私有化 (防止 new )
*2)类的内部创建对象,只不过现在使用静态代码块进行初始化
*3)向外暴露一个静态的公共方法
*
*这种写法实际上和使用静态常量是一致的
*/
public class NotLazyLoadDemo2 {
public static void main(String[] args) {
Singleton singleton = Singleton.getSingleton();
Singleton singleton2 = Singleton.getSingleton();
//比较两个对象是否相等
System.out.println(singleton == singleton2);
//查看两个对象的Hash值是否相同
System.out.println(singleton);
System.out.println(singleton2);
}
}
class Singleton02{
static{
SINGLETON= new Singleton02();
}
private static Singleton02 SINGLETON= null;
private Singleton02(){}
public static Singleton02 getSingleton(){
return SINGLETON;
}
}