枚举的作用
枚举类的格式
- 修饰符 enum 枚举名称{
实例1名称,实例2名称...;
}
- 枚举类的第一行罗列的必须是枚举类的对象名称
- 实例代码:
public class EnumDemo {
}
// 枚举
enum Season {
SPRING , SUMMER , AUTUMN , WINTER;
}
public final class Season extends java.lang.Enum<Season> {
public static final Season SPRING = new Season();
public static final Season SUMMER = new Season();
public static final Season AUTUMN = new Season();
public static final Season WINTER = new Season();
public static Season[] values();
public static Season valueOf(java.lang.String);
}
- 枚举类的特点:
- 枚举类是final修饰的,不能被继承;
- 枚举类默认继承了枚举类型:java.lang.Enum;
- 枚举类的第一行罗列的是枚举类的对象,而且是用常量存储的;
- 所以枚举类的第一行写的都是常量名称,默认存储了枚举对象;
- 枚举类的构造器是私有的;
- 枚举类相当于是多例模式。
枚举类用于做信息标志和信息分类
// 利用常量做信息标志和分类
public class EnumDemo02 {
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(RIGHT);
}
// 提供一个方法控制玛丽的方向。
// 上下左右 0 1 2 3
public static void move(int oritatin){
switch (oritatin){
case UP:
System.out.println("让🐎往👆蹦~~~~");
break;
case DOWN:
System.out.println("让🐎往👇蹦~~~~");
break;
case LEFT:
System.out.println("让🐎往👈蹦~~~~");
break;
case RIGHT:
System.out.println("让🐎往👉蹦~~~~");
break;
default:
System.out.println("蒙蔽了~~~~");
}
}
}
- 利用常量的方法,约束的强制性并不够,程序编写时任然可以使用数字执行逻辑。虽然也挺好,但是入参不受控制,入参随意性无法严谨
- 利用枚举做信息标志和分类。
enum Oritation{
UP, DOWN, LEFT, RIGHT;
}
public class EnumDemo02{
public static void main(String[] args){
move(Oritation.RIGHT);
}
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;
default:
System.out.println("蒙蔽了~~~~");
}
}
}
网友评论