单例模式的两种形式,被称为饿汉式与懒汉式
懒汉式:加载类的时候不初始化,当第一次使用实例时才初始化。
private static SingleClass01 s1 = null;
private SingleClass01(){};
//
public static SingleClass01 getInstance(){
if(s1==null){
s1 = new SingleClass01();
}
return s1;
}
}
public class TestSingleClass01Demo {
public static void main(String[] args) {
SingleClass01 s1 = SingleClass01.getInstance();
SingleClass01 s2 = SingleClass01.getInstance();
System.out.println(s1==s2);
}
}
饿汉式:加载类的时候就初始化一个实例。
public class SingleClass02 {
private static SingleClass02 s1 = new SingleClass02();
private SingleClass02(){};
public static SingleClass02 getInstance(){
return s1;
}
}
public class TestSingleClass02Demo {
public static void main(String[] args) {
SingleClass02 s1 = SingleClass02.getInstance();
SingleClass02 s2 = SingleClass02.getInstance();
System.out.println(s1==s2);
}
}