一、枚举的由来
先假定一个场景,现在有一个需求。要求你创建一个员工类(Employee),其中有一个属性角色role。而公司中有BOSS、MANAGER、WORKER三种角色。那么这个类要怎么定义,我们一步一步慢慢实现这个类。
我们先把属性role设置为String,那么Employee类如下定义:
class Employee{
private String name;
private String role;
/** 省略一些方法 **/
public Employee(String role){
this.role = role;
}
}
这个时候就可以来分别创建三个角色不同的员工:
@Test
public void demo1(){
Employee boss = new Employee("BOSS");
Employee manager = new Employee("MANAGER");
Employee worker = new Employee("WORKER");
//但是如果单词拼错了,程序就会出问题
Employee boss2 = new Employee("BOS");
}
这样显然有很多问题,于是我们可以尝试用int,这样就不容易出错:
class Employee{
private int role;
}
假定1是BOSS、2是MANAGER、3是WORKER。那么创建的时候就可以如下:
@Test