单例的特征应该是类的构造方法私有,类中保证只有一个实例对象。不允许外部创建新的实例对象,给出方法能让外部获得类中唯一的实例对象。一般方法都是静态的。- class Test{
- private Test(){
- //私有构造方法
- }
- private static Test t1 = new Test();
-
- public static Test getInstance(){
- return t1;
- //通过方法返回实例
- }
-
- }
复制代码 而枚举类是不能创建新对象的,类中所有的元素都是静态的,所以如果一个枚举类只有一个元素的话。
这个枚举类只存在一个对象,并且外部不能在创建新的元素。完全符合单例设计模式的标准- enum Test1{
- Mon;
- //有且只有一个实例对象,并且要通过静态调用Test1.Mon;
- }
复制代码 |