- 单例模式
单例模式只能拥有一个对象,并且为静态 私有,还有一个能够公开访问该对象的方法,一个私有的无参构造器 单例模式呢又有几种模式:
1)饿汉式 :安全 效率较高 ,不能延时加载
public class SingletonDemo{
private static SingletonDemo instance=new SingletonDemo();
private SingletonDemo{
}
public static SingletonDemo getInstance(){
return instance;
}
}
- 懒汉式:安全 效率较低 可以延时加载
public class SingletonDemo{
private static SingletonDemo instance;
private SingletonDemo{
}
public static synchronized SingletonDemo getInstance(){
if(instance==null){
instance=new SingletonDemo();
}
return instance;
}
}
3 )静态内部类实现单例模式
public class SingletonDemo{
private static class Singleton{
private static SingletonDemo instance=new SingletonDemo();
}
private SingletonDemo{
}
public static SingletonDemo getInstance(){
return Singleton.instance;
}
}
4)通过枚举实现单例模式
public enum SingletonDemo{
INSTANCE;
public void SingleOperate{
}
}