静态内部类Java代码
时间: 2023-09-13 14:05:20 浏览: 89
静态内部类(Static Inner Class)是 Java 中一种常见的实现单例模式的方式。它采用了类的懒加载技术,只有在需要时才会创建单例对象。
以下是一个使用静态内部类实现单例模式的Java代码示例:
```
public class Singleton {
private Singleton() {}
private static class SingletonHolder {
private static final Singleton INSTANCE = new Singleton();
}
public static Singleton getInstance() {
return SingletonHolder.INSTANCE;
}
}
```
在这个示例中,我们将 Singleton 的构造函数设为私有,防止外部直接创建实例。然后,我们定义了一个静态内部类 SingletonHolder,该类中创建了一个 Singleton 实例,且该实例的创建是在类加载时完成的。最后,我们提供了一个静态方法 getInstance(),该方法返回 SingletonHolder 中创建的 Singleton 实例。由于 SingletonHolder 类只在 getInstance() 方法中被加载,因此也实现了类的懒加载。
静态内部类实现单例模式是一种比较安全的方式,可以保证在多线程环境下也能正常工作。同时,使用静态内部类实现单例模式还可以避免使用双重检查锁定带来的性能问题。
阅读全文