什么是单例模式
单例模式的特点
1. 单例模式只能有一个实例。
2. 单例类必须创建自己的唯一实例。
3. 单例类必须向其他对象提供这一实例。
单例模式的实现
第一步:将类的构造函数生命为私有的构造函数,这样我们在外部就无法通过Singleton s = new Singleton()来实例化该,因为Private生命的成员只有在该类的内部可以访问。这样可以保证类的实例只有一个(那就是在类的内部给它实例化)。
第二步:在类的里面声明一个公开的全局的静态字段(其实也就是提供一个全局的访问点),外部对象通过这个访问点可以拿到该类的唯一实例。切记,该字段必须声明成static静态段,如果声明成非静态字段,那在类的外部就访问不到了。因为非静态成员只能通过类的实例去访问,而我们在类的外部是无法对该类进行实例化的。
具体代码如下
public class Demo {
private static Demo instance;
private Demo(){
}
public static Demo getInstance(){
if(instance==null){
instance=new Demo();
}
return instance;
}
}