作为比较使用的枚举,让大部分初学者都很头疼,今天在这里用一个案例,简单说一下。
策略枚举优点:这种通过枚举嵌套枚举的方式,讲枚举常量分类处理,使得更加安全和灵活。
案例:简单的工资计算,以学校为例,计算行政人员和老师的工资。
我们可以把老师工资分为(基本工资,学时费(等用时间*小时)绩效),行政人员(基本工资,绩效)。依照这个思路,就可以开始写代码了,计算我们使用BigDecimal来计算。
代码如下:
其中:(baseSalary基本工资, classHour学时, teachingHourSubsidy学时费用,
achievements绩效)
package com.dream.enum06;
import java.math.BigDecimal;
public enum Salary {
JAVA(Staff.teacher),//java老师
HTML(Staff.teacher),//前端老师
PYTHON(Staff.teacher),//PYTHON老师
PRINCIPAL(Staff.administrative);//行政人员
private Staff staff;//建立一个类型为(Staff类型)的属性(staff);
private Salary(Staff staff) {//构造方法
this.staff = staff;//将传入的数据赋值进来
}
public double getSalary(double baseSalary, int classHour, double teachingHourSubsidy,