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的。