步骤:1、构造函数私有化
2、类中创建本类对象
3、提供一个方法可以获取到该对象
1:饿汉式
class single{
private Single(){
}
private static Single s = new Single();
public static Single getInstance(){
return s;
}
}
2:懒汉式
Public class Singleton
{
Private static final Singleton singleton;//未初始化
Private Singleton()
{
}
Public static Singleton getInstance()
{
If(singleton == null)
{
Singleton = new Singleton();
}
}
}
4多线程下的单例模式
Public static Singleton getInstance()
{
If(singleton == null)
{
Synchronized(singleton.class)
{
Singleton = new Singleton();
}
}
}
5:双重检查模式(DCL)
Public static Singleton getInstance()
{
If(singleton == null)
{
Synchronized(singleton.class)
{
If(singleton == null)
{
Singleton = new Singleton();
}
}
}
}