- 枚举类型是一个类
- 引用要用Constant.constan_name
- 常量命名要用private
- 如果常量里面有值,则需要应用this与内部方法对该值进行读取
- 可以用两种方式读取,constant类型 c c.getid() //Constants2.values()[i]
package java_17exercise;
import static java.lang.System.out;
//题目定义一个枚举泛型类,用switch语句获取枚举类型的值
public class Java_17_1 {
enum Constants2 { // 将常量放置在枚举类型中
Constants_A(5),
Constants_B(4),
Constants_C(2),
Constants_D(8);
private String description;
private int i = 0;
private Constants2() {
}
// 定义参数为String型的构造方法
private Constants2(String description) {
this.description = description;
}
private Constants2(int i) { // 定义参数为整型的构造方法
this.i = this.i + i;
}
public String getDescription() { // 获取description的值
return description;
}
public int getI() { // 获取i的值
return i;
}
}
public static void doit2(Constants2 c) {
switch (c) { // 根据枚举类型对象做不同操作
case Constants_A:
System.out.println("doit2() Constants_A的值为:"+c.getI());
break;
case Constants_B:
System.out.println("doit2() Constants_B的值为:"+c.getI());
break;
case Constants_C:
System.out.println("doit2() Constants_C的值为:"+c.getI());
break;
case Constants_D:
System.out.println("doit2() Constants_D的值为:"+c.getI());
break;
}
}
public static void main(String[] args) {
Java_17_1.doit2(Constants2.Constants_A);
Java_17_1.doit2(Constants2.Constants_B);
Java_17_1.doit2(Constants2.Constants_C);
Java_17_1.doit2(Constants2.Constants_D);
}
}