/**
* 设计模式之单例模式
*/
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;
}
}