1

我想为java编写单例类。我找到了一个示例程序,如下所示。

public class Singleton {
  private static Singleton singleton = new Singleton();

  private Singleton() {
    System.out.println("instance is created.");
  }

  public static Singleton getInstance() {
    return singleton;
  }
}

要知道,构造函数是私有方法,不会被调用。

如何制作单例实例?

在java程序中创建实例时?

谢谢你。

4

2 回答 2

3

正如 Joshua Bloch 在他的Effective Java 2nd Edition书中所说,从 Java 5 开始,实现单例的最佳方法是使用枚举:

public enum Singleton {
    INSTANCE;
    // all the necessary methods go here
}

这种单例实现模式有助于避免某些序列化/反序列化问题。有关详细信息,请参阅 Effective Java 2nd Edition 的第 3 项。

于 2012-12-09T11:58:44.733 回答
2

单例实例将在您第一次调用 Singleton.getInstance() 时创建。将加载该类,初始化单例变量,并由 getInstance() 方法返回。

于 2012-12-09T11:42:17.240 回答