/**
* 設計模式之單例模式
*/
public class TestSingleton {
public static void main(String[] args) {
Singleton s = Singleton.newInstance();
Singleton s1 = Singleton.newInstance();
}
}
/**
* 要求世上只有一此類的對象
* 餓漢式
*/
class Singleton{
private static Singleton s = new Singleton();
private Singleton() {}
public static Singleton newInstance(){
return s;
}
//...
}
/**
* 懶漢式
*/
class Singleton2{
private static Singleton2 s;
private Singleton2() {}
public static synchronized Singleton2 newInstance(){
if(s==null){
s = new Singleton2();
}
return s;
}
}