Java 單例模式(2種)

public class Test_DanLi {
	public static void main(String[] args){
		Moon m1 = Moon.getMoon();
		Moon m2 = Moon.getMoon();
		System.out.println(m1 == m2);
		Sun s1 = Sun.getSun();
		Sun s2 = Sun.getSun();
		System.out.println(s1 == s2);
		
	}
}
//單例模式 - 醉漢式
class Moon{
	private Moon(){}
	private static Moon m = new Moon();
	public static Moon getMoon(){
		return m;
	}
}

//單例模式 - 懶漢式
class Sun{
	private Sun(){}
	private static Sun sun;
	public synchronized static Sun getSun(){
		if(sun == null){
			sun = new Sun();
		}
		return sun;
	}
}

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