有很多情况需要只生成一个对象,例如大家常用的任务管理器 ,这就需要单例设计模式了
不多说直接上代码
1.饿汉式
public class SingleTon {
//1.先私有化构造器,外部不能生成对象
private SingleTon() {
}
//2.在内部生成对象,也要私有化
private static SingleTon instance = new SingleTon();
//3.公共方法调用返回对象
public static SingleTon getInstance(){
return instance;
}
}
2.懒汉式 也就是 lazyload 有线程安全问题
public class SingleTon {
private static SingleTon instance=null;
public static synchronized SingleTon getInstance()
{
if(instance==null)
{
instance=new SingleTon();
}
return instance;
}
private SingleTon (){
}
}