枚举类的构造方法与属性
枚举类
枚举类型本质上也是类,不过是一个特殊的类。
枚举的声明也可包含类所应有的其他部分,比如构造方法,成员变量、成员方法。
枚举类型的构造方法
枚举类型的构造方法常用于为各个枚举成员添加附加的说明。
枚举类型的构造方法的权限必须是private,不能在其他类中调用。
声明构造方法后,枚举常量的声明就必须调用对应的构造方法。
枚举类的构造方法与属性
在上例中,EAST(“东”) 等价于:
public static final Directions EAST =new Direction(“东”)
也就是说,Directions类的对象有一个属性,该属性是一个字符串
枚举类的values方法
枚举类型的父类
所有的枚举类型都隐性地继承了java.lang.Enum,就是说所有枚举类型都可以看成一个类,都会继承Enum类的方法。
枚举类型的静态方values
当定义一个枚举类型时,每一个枚举类型成员都是枚举类型的一个实例。
每一个枚举类型,编译器都会生成一个静态方法values , values方法将枚举类型的成员以数组的形式返回,反之,也可以通过该方法获取枚举成员信息。
枚举类的values方法示例程序。
因为values方法是静态方法,可以通过类名. values()的形式调用,该方法返回的是枚举类型数组,可以使用length获取其长度。