如何在Java中实现单例模式?
在Java中,可以使用多种方式来实现单例模式。以下是其中最常见和推荐的两种方法:
饿汉式单例(静态初始化):
public class Singleton {
// 静态内部类,保证Singleton实例只有一个
private static class SingletonHolder {
// 单例的唯一引用
public static Singleton instance = new Singleton();
}
// 单例构造器,确保只会被第一次创建时调用
private Singleton() {}
// 单例提供公共方法
public synchronized void doSomething() {
System.out.println("Doing something...");
}
}
饿汉式单例(无静态内部类):
public class Singleton {
// 这里不需要使用静态内部类,因为Singleton的实例是不可变的
// 单例提供公共方法
public void doSomething() {
System.out.println("Doing something...");
}
}
这两种方式都确保了在Java中实现单例模式的唯一性和可访问性。
还没有评论,来说两句吧...