1.什么是单例模式?
仅对外提供一个对象。
2.如何做到?
1)首先,需要私有化构造方法,这样才能保证此类无法被创建对象。
2)其次,要对外提供获得对象的方法,并且只能是静态方法。为了保证线程安全,还需要加上同步锁。这个对象可以在方法中被调用的时候创建。
3)此外,还需要一个静态变量来接收这个对象。知识点:为啥是静态变量。
3.代码 实现单例模式的有多种方法,下面提供的是工作中最常用到的方法。
public class SingleTon {
/**
* 1)私有化构造方法,限制外界通过构造方法创建对象
*/
private SingleTon(){
}
/**
* 3)注意:此为静态变量
*/
private static SingleTon instance;
/**
* 2)对外提供获得此对象的方法,静态同步方法
* @return
*/
public synchronized static SingleTon getInstance (){
if(instance==null){
instance = new SingleTon();
}
return instance;
}
}