优点与缺点与上个一样
/**
* 静态常量:
* 步骤:
* 1,构造器私有化
* 2,类的内部创建对象
* 3,向外部暴露一个静态的公共方法
* 4,代码实现
*/
public class Single2 {
public static void main(String[] args) {
//饿汉
Singleton2 instance1 = Singleton2.getInstance();
Singleton2 instance2 = Singleton2.getInstance();
System.out.println(instance1==instance2);
System.out.println("===================");
System.out.println(instance1.hashCode());
System.out.println(instance2.hashCode());
}
}
//饿汉式
class Singleton2{
//构造器私有
private Singleton2(){
}
//在本类创建对象实例
private static Singleton2 instance;
static {
instance = new Singleton2();
}
//对外提供共有的方法
public static Singleton2 getInstance(){
return instance;
}
}
只不过将类实例话的过程放在静态代码块中