如何在Java中实现单例模式
在Java中,实现单例模式通常有以下几种方式:
饿汉式(静态内部类):
public class Singleton {
// 私有化构造函数
private Singleton() {}
// 单例实例
public static Singleton getInstance() {
return Singleton.instance == null ?
new Singleton() : Singleton.instance;
}
// 隐藏默认构造方法
private Object readResolve() {
return getInstance();
}
}
饿汉式(非静态内部类):
public class Singleton {
// 私有化静态内部类实例
private static final Singleton INSTANCE = new Singleton();
// 单例访问方法
public static Singleton getInstance() {
return INSTANCE;
}
}
懒汉式(非静态内部类):
public class Singleton {
// 私有化非静态内部类实例
private static volatile Singleton INSTANCE;
// 单例访问方法
public static Singleton getInstance() {
return INSTANCE == null ?
new Singleton() : INSTANCE;
}
}
以上就是在Java中实现单例模式的几种常见方式。
还没有评论,来说两句吧...