枚举类型在C#或C++,java,VB等一些计算机编程语言中是一种基本数据类型而不是构造数据类型,而在C语言等计算机编程语言中是一种构造数据类型 。 它用于声明一组命名的常数,当一个变量有几种可能的取值时,可以将它定义为枚举类型。
/**
* 枚举测试类
* @author yuxuan
*
*/
public class EnumTest {
public static void main(String[] args) {
System.out.println(EnumColorPlus1.GREEN);
System.out.println(EnumColor2.RED.getColor());
for(Operation op:Operation.values()) {
System.out.println(op.eval(2, 2));
}
}
}
/**
*
* @author yuxuan
*
*/
enum EnumColor{
YELLOW,GREEN;
}
/**
*
* @author yuxuan
*
*/
enum EnumColorPlus{
/*
当定义的枚举变量有描述的时候,必须为其定义属性和对应的构造函数
*/
YELLOW("黄色"),GREEN("绿色");
private String label;
EnumColorPlus(String label) {
this.label = label;
}
}
/**
*
* @author yuxuan
*
*/
enum EnumColorPlus1{
/*
当定义的枚举变量有描述的时候,必须为其定义属性和对应的构造函数
*/
YELLOW("黄色","#234323"),GREEN("绿色","#erwerwe");
private String label; //相当于黄色
private String tone; //相当于色值
public String getLabel() {
return label;
}
public String getTone() {
return tone;
}
EnumColorPlus1(String label,String tone) {
this.label = label;
this.tone = tone;
}
}
/**
*
* @author yuxuan
*
*/
enum Operation{
/**
* 带有静态代码块的可以理解为抽象方法的实现,定义个抽线方法,在具体的属性后用静态代码块去实现
*/
PLUS {
public int eval(int a,int b) {
return a + b;
}
},
MINUS{
public int eval(int a,int b) {
return a - b;
}
},
MIULTI{
public int eval(int a,int b) {
return a * b;
}
},
DIVIDE{
public int eval(int a,int b) {
return a / b;
}
};
public abstract int eval(int a,int b);
}
/**
*
* @author yuxuan
*
*/
enum EnumColor2{
RED(1){
public String getColor() {
return "red";
}
},
YELLOW(2){
public String getColor() {
return "yellow";
}
};
private Integer color;
EnumColor2(){
}
EnumColor2(Integer color){
this.color = color;
}
//定义个一抽象方法,在上面去实现
public abstract String getColor();
}
有问题可以在下面评论,技术问题可以私聊我。