Java枚举类Enum

枚举类多用于定义常量,在Java5之前定义常量只能通过static final这两个关键字来限定,这样的坏处就是无法保证类型安全。枚举类都继承自java.lang.Enum类

1、枚举类的声明

enum Season {
    SPRING, SUMMER, AUTUMN, WINTER
}

这是最简单直接的用法,声明了一个名为Season的枚举类,它有有且仅有四个实例:SPRING, SUMMER, AUTUMN, WINTER。

2、定制更符合自己需求的枚举类

enum AppId {
    // #1 列出枚举类的实例
    CONTACT("contact"), 
    ALBUM("album"),
    DITU("ditu"),
    TAG("tag");
    // #2 声明自定义的属性
    private String appid;
    // #3 定义带参数的构造函数
    private AppId(String appid) {
        this.appid = appid;
    }
    // #4 重写toString方法(Optional)
    @Override
    public String toString() {
        return appid;
    }
}

枚举类其实只是加了一些限制的类,我们大可以将其看做是一个普通的类来使用,可以给其定义属性和方法让它更符合我们项目的需求。

枚举类的实例默认都是static final的。

 

 

posted @ 2013-12-14 17:27  StrikeW  阅读(251)  评论(0编辑  收藏  举报