- 公有靜態(tài)成員是final
public class Singleton {
public static final Singleton INSTANCE = new Singleton();
private Singleton(){}
public void say() {}
}
調(diào)用:
Singleton.INSTANCE.say();
- 公有的成員是個靜態(tài)工廠方法
public class Singleton {
private static final Singleton INSTANCE = new Singleton();
private Singleton(){}
public static Singleton getInstance() {
return INSTANCE;
}
public void say() {}
}
調(diào)用:
Singleton.getInstance().say()
- 包含單元素的枚舉
public Enum Singleton {
INSTANCE;
public void say() {}
}
調(diào)用:
Singleton.INSTANCE.say ()
枚舉類的字節(jié)碼就是一個final類型class贮配,不能被繼承侧馅,枚舉值都是類靜態(tài)常量