枚举
枚举是一种特殊类。
枚举类的格式:
修饰符 enum 枚举类名{
名称1,名称2, ... ;
其他成员…
}
例如:
public enum A{
X , Y , Z;
...
}
注意:
枚举类中的第一行,只能写一些合法的标识符(名称),多个名称用逗号隔开。
这些名称,本质是常量,每个常量都会记住枚举类的一个对象。
Compiled from “A.java"
public final class A extends java.lang.Enum<A> {
public static final A X = new A();
public static final A Y = new A();
public static final A Z = new A();
public static A[] values();
public static A valueOf(java.lang.String);
}
枚举的特点
枚举类的第一行只能罗列一些名称,这些名称都是常量,并且每个常量记住的都是枚举类的一个对象。
枚举类的构造器都是私有的(写不写都只能是私有的),因此,枚举类对外不能创建对象。
枚举都是最终类,不可以被继承。
枚举类中,从第二行开始,可以定义类的其他各种成员。
编译器为枚举类新增了几个方法,并且枚举类都是继承:java.lang.Enum类的,从enum类也会继承到一些方法。
枚举的常见应用场景
用来表示一组信息,然后作为参数进行传输。
选择定义一个一个的常量来表示一组信息,并作为参数传输
参数值不受约束。
选择定义枚举表示一组信息,并作为参数传输
代码可读性好,参数值得到了约束,对使用者更友好,建议使用!