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;
}
}
Java 單例模式(2種)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.