最近学习《Effective Java》
对于“强化singleton属性”
个人觉得其中的一些代码会有后用:
1,私有构造函数
2,静态公有工厂。 在不该改变API的前提下,允许我们改变想法,把该类做成singleton,或者不做成singleton。静态工厂返回该类的唯一实例,但是他很容易修改。
对于“强化singleton属性”
个人觉得其中的一些代码会有后用:
1,私有构造函数
// Singleton with final field
public class Elvis {
public static final Elvis INSTANCE = new Elvis();
private Elvis() {
// ...
}
// ... // Remainder omitted
}
2,静态公有工厂。 在不该改变API的前提下,允许我们改变想法,把该类做成singleton,或者不做成singleton。静态工厂返回该类的唯一实例,但是他很容易修改。
// Singleton with static factory
public class Elvis {
private static final Elvis INSTANCE = new Elvis();
private Elvis() {
// ...
}
public static Elvis getInstance() {
return INSTANCE;
}
}