Java枚举类,第一行是什么?是构造函数吗?

时间:2015-02-12 15:07:07

标签: java enums

enum Size
{
    SMALL("S"), MEDIUM("M"), LARGE("L"), EXTRA_LARGE("XL");
    private Size(String abbreviation) {
        this.abbreviation = abbreviation;
    }
    public String getAbbreviation() { return abbreviation;}
    private String abbreviation;
}

我知道java中的所有枚举都是Enum的子类。 这是什么:

SMALL("S"), MEDIUM("M"), LARGE("L"), EXTRA_LARGE("XL");

这是构造函数吗? 似乎很奇怪的语法。

需要解释。 感谢

2 个答案:

答案 0 :(得分:0)

enum文字的定义,调用具有相应值的构造函数。

答案 1 :(得分:0)

SMALL("S"), MEDIUM("M"), LARGE("L"), EXTRA_LARGE("XL");

是包含此枚举实例的静态最终字段列表。你可以认为它等同于这段代码

public static final Size SMALL = new Size("S");
public static final Size MEDIUM = new Size("M");
public static final Size LARGE = new Size("L");
public static final Size EXTRA_LARGE = new Size("XL");