* 枚举的作用:
* 枚举用于做信息标志和信息分类
* 枚举类格式
* 修饰符 enum 枚举名称{
* 实例1名称,实例2名称...;
* }
* --第一行罗列的必须是枚举类的对象名称
* 反编译的枚举源码:(桌面创建Sex.java,把下方的枚举类格式放里面。win+R->cmd->
* cd C:UsersshinelonDesktop->javac Sex.java->javap Sex.class)
* Compiled from "Sex.java"
* public final class Sex extends java.lang.Enum {
* public static final Sex BOY = new Sex();
* public static final Sex GIRL = new GIRL();
* public static Sex[] values();
* public static Sex valueOf(java.lang.String);
* static {};
* }
*
* 枚举类的特点:
* 1,枚举类是final修饰的,不能被继承
* 2,枚举类默认继承了枚举类型:java.lang.Enum
* 3,枚举类的第一行罗列的是枚举类的对象,而且是用常量储存的
* 4,所以枚举类的第一行写的都是常量名称,默认存储了枚举对象
* 5,枚举类的构造器默认是私有的
* 6,枚举类相当于多例设计模式
*
public class DemoEnum01 {
public static void main(String[] args) {
Sex boy = Sex.BOY;
System.out.println(boy);
Sex girl = Sex.GIRL;
System.out.println(girl.ordinal());//枚举对象的索引位置
}
}
//枚举类格式
enum Sex{
BOY,GIRL;
}
*常量做信息标志和分类,虽然也挺好,但入参不受控制,入参太随性无法严谨
*枚举类用于做信息标志和信息分类:优雅
//常量做信息标志和信息分类
public class DemoEnum02 {
public static final int UP = 0;
public static final int DOWN = 1;
public static final int LEFT = 2;
public static final int RIGHT = 3;
public static void main(String[] args) {
move(LEFT);
}
public static void move(Oritation oritation) {
switch (oritation) {
case UP:
System.out.println("向上");
break;
case DOWN:
System.out.println("向下");
break;
case LEFT:
System.out.println("向左");
break;
case RIGHT:
System.out.println("向右");
break;
}
}
}
/枚举用于做信息标志和信息分类
enum Oritation{
UP,DOWN,LEFT,RIGHT;
}
public class DemoEnum02 {
public static void main(String[] args) {
move(Oritation.UP);
}
public static void move(Oritation oritation) {
switch (oritation) {
case UP:
System.out.println("向上");
break;
case DOWN:
System.out.println("向下");
break;
case LEFT:
System.out.println("向左");
break;
case RIGHT:
System.out.println("向右");
break;
}
}
}