/*** Created by* Describe 策略枚举(枚举类里套一层枚举),工作日1倍工资,节假日2倍工资* 枚举类里的枚举类型其实就是该类的一个实例化*/
public enum SalaryPay {//星期的枚举MONDAY(PayType.WORK),TUESDAY(PayType.WORK),WEDNESDAY(PayType.WORK),THURSDAY(PayType.WORK),FRIDY(PayType.WORK),SATRUDAY(PayType.REST),SUNDAY(PayType.REST);private PayType payType;SalaryPay(PayType payType) {this.payType = payType;}//支付函数double pay(double salary) {return payType.pay(salary);}//支付倍数的枚举private enum PayType {WORK {@Overridedouble pay(double salary) {return salary;}},REST {@Overridedouble pay(double salary) {return DOUBLE * salary;}};private static final int DOUBLE = 2;//支付函数abstract double pay(double salary);}public static void main(String[] args) {final double salary = 10000;//基本工资System.out.println("周一的工资是:" + SalaryPay.MONDAY.pay(salary));System.out.println("周日的工资是:" + SalaryPay.SUNDAY.pay(salary));}}