枚举概念: 1.这种实例(对象)有限而且固定的类,在Java里被称为枚举类。
2.枚举是新增的引用数据类型,和类,接口是一个级别的,定义枚举的关键字为enum。
枚举场景举例性别: Man(男)、Women(女) 交通灯: Red(红)、Green(绿)、Yellow(黄)
public enmu 枚举名{}
1枚举中的常量名字大写,多个常量之间逗号分开
2枚举中有默认的无参数的private修饰的构造方法,如果手写构造方法,也必须是私有修饰的
3构造方法必须写在常量的后面,这时最后一个常量就必须要写分号
4 枚举的调用-直接枚举名.调用
5枚举类的values方法是可以直接使用,获取到的是该枚举类中的对象数组
6由于枚举的常量为静态修饰可以直接枚举名.调用
7Enum类中的ordinal方法,返回枚举对象的编号
package itheima01;
public enum Light01 {
RED("红灯", "必须停"),
GREEN("绿灯", "行"),
YELLOW("黄灯", "等一等"),
BLUE();
private String COLOR;
private String INFO;
private Light01(String COLOR, String INFO) {
this.COLOR = COLOR;
this.INFO = INFO;
}
private Light01(){}
@Override
public String toString() {
return "Light01{" +
"COLOR='" + COLOR + '\'' +
", INFO='" + INFO + '\'' +
'}';
}
public String getCOLOR() {
return COLOR;
}
public String getINFO() {
return INFO;
}
}
public class Demo01Light01 {
public static void main(String[] args) {
Light01 red = Light01.RED;
System.out.println(red);
System.out.println(red.getName());
System.out.println(red.getClass().getName());
System.out.println("------------");
System.out.println(Light01.GREEN);
System.out.println(Light01.RED.ordinal());
System.out.println(Light01.GREEN.ordinal());
System.out.println(Light01.YELLOW.ordinal());
System.out.println("-------------");
Light01[] values = Light01.values();
for (Light01 value : values) {
System.out.println("编号: " + (value.ordinal() + 1) + "名称: " + value.name() + ", 颜色: " + value.getCOLOR() + ", 信息: " + value.getINFO());
}
}
}