创建和销毁对象:用私有构造器或者枚举类型强化Singleton属性
package effective.yk03;
/**
* @author Yoko
* 《Effective Java》第二版:
* 创建和销毁对象
* 第三条:用私有构造器或者枚举类型强化Singleton属性
* Singleton指仅仅被实例化一次的类。
*/
public class Animal {
public static final Animal ANIMAL = new Animal();
//第一种方法:构造器保持为私有,并且导出公有的静态成员,来允许客户端文件访问该类的唯一实例。
private Animal(){
}
//第二种方法:公有的方法是静态工厂方法
public static Animal getInstance(){
return ANIMAL;
}
}
enum Animal1 {
//第三种方法,编写一个包含单个元素的枚举类型
ANIMAL;
}