利用枚举实现单例,与抽象类比较

/**   
 * @Title: MisonerEnum.java 
 * @Package  
 * @Description: 
 * @author 任伟   
 * @date 2015年1月5日 上午10:05:15 
 * @version V1.0   
 */

/**
 * @ClassName: MisonerEnum
 * @Description:
 * @author 任伟
 * @date 2015年1月5日 上午10:05:15
 */
public enum MisonerEnum {
    EMPLOYMENT_GUIDE("就业指导") {
        @Override
        public void work() {
            System.out.println("就业指导中心帮助学员实现高薪就业");
        }
    },
    
    SOFTWARE_DEVELOPMENT("项目经理") {
        @Override
        public void work() {
            System.out.println("软件外包中心为学员提供商业外包带薪实战");
        }
    };
    String position;

    MisonerEnum(String position) {
        System.out.println("岗位" + position);
    }
    public abstract void work();
}

abstract class Misoner {
    String position;

    private Misoner(String position) {
        System.out.println("岗位" + position);
    }

    public static final Misoner EMPLOYMENT_GUIDE = new Misoner("就业指导") {
        @Override
        public void work() {
            System.out.println("就业指导中心帮助学员实现高薪就业");
        }

    };
    
    public static final Misoner SOFTWARE_DEVELOPMENT = new Misoner("项目经理") {
        @Override
        public void work() {
            System.out.println("软件外包中心为学员提供商业外包带薪实战");
        }
    };

    public abstract void work();
}
原文地址:https://www.cnblogs.com/renwei/p/4202885.html