初识enum(二)

125 阅读1分钟

enum的实例方法

enum 被编译器编译为 final class Xxx extends Enum {...}, enum实例有几个继承自父类Enum的方法:

  1. name() 返回enum实例名字的字符串表示;
  2. ordinal() 返回enum实例所在位置的索引;
  3. toString()name() 一样,但 toString() 可以被重写, name() 不行。

enum的构造函数

创建一个诸如 Weekday.MON 的enum实例时,会调用Weekday的构造函数, 并且把预先定义好的参数传进去。例如:

enum Weekday {
    MON(1, "星期一"), TUE(2, "星期二"), WED(3, "星期三"), THU(4, "星期四"), FRI(5, "星期五"), SAT(6, "星期六"), SUN(0, "星期日");

    int dayValue;
    String chinese;

    Weekday(int dayValue, String chinese) {
        this.dayValue = dayValue;
        this.chinese = chinese;
    }
}

执行 Weekday mon = Weekday.MONmon.dayValue 就是1,mon.chinese 就是星期一。