枚举

来源:互联网 发布:mysql主键自增长删除后 编辑:程序博客网 时间:2024/06/08 19:05

枚举

        枚举的类型是类,不是整数类型,枚举值是类的对象。枚举可以声明自己的方法和属性,这一点和类无异。

        所有的枚举类都自动继承java.lang.Enum。

        枚举值是没有public的构造函数的,也不允许有public的构造函数,枚举值的构造函数默认是private的,这就意味着枚举不可以被继承。

        枚举值都是public static final的。使用value()将返回枚举的数组,使用ordinal()(这个方法是final的)将返回枚举对象的索引值。

1
2
3
4
5
6
7
8
9
10
publicEnumTest
MON,TUE,WED,THU,FRI,SAT,SUN;
newEnum<Test>("MON",0);
newEnum<Test>("TUE",1);
newEnum<Test>("WED",2);
newEnum<Test>("TUE",3);
newEnum<Test>("FRI",4);
newEnum<Test>("SAT",5);
newEnum<Test>("SUN",6);

        并没有找到有关ordinal的自定义的方法,猜想ordinal应该就是values变为数组后的索引。不能改。

        个人理解的枚举就是一个类的所有对象事先已经被写死,所以用户不能去创建枚举变量,枚举变量的创建工作由开发者完成。

0 0