我想为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程序中创建实例时?
谢谢。答案 0 :(得分:3)
正如Joshua Bloch在他的Effective Java 2nd Edition书中所说,从Java 5开始,实现单例的最佳方法是使用枚举:
public enum Singleton {
INSTANCE;
// all the necessary methods go here
}
单例实现的这种模式有助于避免某些序列化/反序列化问题。有关详细信息,请参阅Effective Java 2nd Edition的第3项。
答案 1 :(得分:2)
第一次调用Singleton.getInstance()时将创建单例实例。将加载该类,并初始化单例变量,并由getInstance()方法返回。