java5.0以后才有的枚举类型2
程序员文章站
2022-03-09 13:33:43
...
可以通过enum关键字来定义枚举类型时,例如下形式:
通过java5.0以后才有的枚举类型1的例子你可能还不能理解枚举类型,其实你定义出来的枚举类型继承自 [b]java.lang.Enum 类型[/b],
而每一个枚举成员其实就是你定义的枚举类型的一个[b]实例[/b](Instance) , 他们都被预设为[b]final[/b], 因此已无法改变它们 ,它们也是[b]static[/b] 成员,所以可以通过类型名称直接使用它们,当然最重要的是, 她们都是公开的([b]public[/b]), 包内保外访问都没有问题;
现在我们看另外一个类,将能加深理解上边的这段话。
程序运行的结果为:
0 :win
1 :lose
2 :tie
3 :cancel
public enum YouEnumName{
enumValue1 ,enumValue12,enumValue3 //结尾没有分号
}
通过java5.0以后才有的枚举类型1的例子你可能还不能理解枚举类型,其实你定义出来的枚举类型继承自 [b]java.lang.Enum 类型[/b],
而每一个枚举成员其实就是你定义的枚举类型的一个[b]实例[/b](Instance) , 他们都被预设为[b]final[/b], 因此已无法改变它们 ,它们也是[b]static[/b] 成员,所以可以通过类型名称直接使用它们,当然最重要的是, 她们都是公开的([b]public[/b]), 包内保外访问都没有问题;
现在我们看另外一个类,将能加深理解上边的这段话。
package lyx.com.cn.myenum;
/**
* @author 李亚希 天豪工作室 2009-9-6
*/
public class OutGameResultEnum {
public OutGameResultEnum() {
}
public static void outEnum() {
/*
* 枚举的values()方法将返回所定义枚举类型类的数组, 将包括该枚举的所有枚举成员
* 既然每一个枚举成员可以理解为你定义的枚举类型的一个实例 ,那么可将 GameResult[] grs
* 理解为一个对象数组 ,result.ordinal()返回的值就可以理解为是数组的下标。
*/
GameResult[] grs = GameResult.values();
for (GameResult result : grs) {
System.out.printf("%d :%s %n", result.ordinal(), result);
}
}
public static void main(String[] args) {
outEnum()
}
}
程序运行的结果为:
0 :win
1 :lose
2 :tie
3 :cancel
上一篇: Vue3.0使用elementPlus
下一篇: QT tableView常用的一些设置