Java记录 -79- 枚举(Enums)

页面导航:首页 > 软件编程 > Java编程 > Java记录 -79- 枚举(Enums)

Java记录 -79- 枚举(Enums)

来源: 作者: 时间:2016-01-21 09:39 【

枚举(Enums)JDK1.5加入了一个全新的类型的类--枚举类型。为此JDK1.5引入了一个新关键字enum。我们可以这样来定义一个枚举类型Public enum Color{Red,White,Blue}然后可以这样来使用 Color myColor
枚举(Enums)
JDK1.5加入了一个全新的类型的“类”--枚举类型。为此JDK1.5引入了一个新关键字enum。我们可以这样来定义一个枚举类型
Public enum Color{
Red,
White,
Blue
}
然后可以这样来使用 Color myColor = Color.Red;
枚举类型还提供了两个很有用的静态方法 values()和valueOf()。我们可以很方便的使用它们,例如:
for(Color c : Color.values())
    System.out.println(c);
定义枚举类型时本质上就是定义一个类别,只不过很多细节由编译器帮您完成了,所以某种程度上,enum关键字的作用就像是class或interface。
当您使用“enum”定义枚举类型时,实质上您定义出来的类型继承自java.lang.Enum类型,而每个枚举的成员其实就是您定义的枚举类型的一个实例(Instance),它们都被预设为final,所以您无法改变它们,它们也是static成员,所以您可以通过类型名称直接使用它们,当然最重要的它们都是公开的public。换句话说,当定义一个枚举类型后,在编译时刻就能确定该枚举类型有几个实例,分别是什么。在运行期间我们无法再使用该枚举类型创建新的实例了,这些实例在编译期间就已经完全确定下来了。
枚举简单的定义与使用:
 
//枚举的定义
public enum Color {

    Red, White, Blue
}
//枚举的使用
public class ColorTest {

    public static void main(String[] args){
        Color myColor = Color.Red;
        System.out.println(myColor);
         
        for(Color c : Color.values()){
            System.out.println(c);
        }
    }
}

 

枚举通用场景:
 
public class EnumTest {

    public static void doOp(OpConstant op){
        switch(op){
        case TURN_LEFT:
            System.out.println("向左转");
            break;
        case TURN_RIGHT:
            System.out.println("向右转");
            break;
        case SHOOT:
            System.out.println("射击");
            break;
        }
    }
    public static void main(String[] args){
        doOp(OpConstant.SHOOT);
    }
}
enum OpConstant{
    TURN_LEFT, TURN_RIGHT, SHOOT
}

 

 
Tags:

文章评论

最 近 更 新
热 点 排 行
Js与CSS工具
代码转换工具

<