注:这是只是对自己所学知识的一个总结,记录,随着之后的学习会对内容有所修改
提到 Singleton,相信第一想到的就是私有构造器。首先这样的想法是没有错误的。在 java 1.5 版本之前 Singleton 有两种写法,在 java 1.5 之后加入了许多特性,其中Enum 枚举类型的加入为 Singleton 提供了最佳的实现方式。此处借鉴自 Effective java(第二版)。
一、对外抛出公有的静态变量
public class Singleton {
// the method one to singleton
public static final Singleton INSTANCE = new Singleton();
private Singleton() {
}
}
二、对外抛出公有的静态方法
public class Singleton {
// the method two to singleton
private static final Singleton INSTANCE = new Singleton();
private Singleton() {
}
public static Singleton getInstance() {
return INSTANCE;
}
}
public enum Singleton{
INSTANCE;
public void leaveTheBuilding() {
}
}