單列設計模式

public class Demo1 {
public static void main(String[] args) {
/*System.out.println(Demo2.getInstance());
System.out.println(Demo2.getInstance());*/

System.out.println(Demo3.getInstance());
System.out.println(Demo3.getInstance());
}

}

//餓漢式
class Demo2{
private static Demo2 demo2=new Demo2();
public static Demo2 getInstance(){
return demo2;
}
private Demo2(){
System.out.println(“dididi”);
}
}
//懶漢式
class Demo3{
private static Demo3 demo3;
public static Demo3 getInstance(){
if(demo3==null){
demo3=new Demo3();
}
return demo3;
}
private Demo3(){
System.out.println(“dididi”);
}
}

一個類只能調用一次單例模式,通過構造方法打印次數來判斷調次數,
不能通過打印類的16進制判斷。

小提示: 懶漢式會出現線程安全問題,我們一般在方法上加上鎖(synchronized)來保證線程安全。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章