Java enum class,第一行是什么???是构造函数吗?

Java enum class, what is in the first line??? is it constructor?

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 中的所有枚举都是枚举的子类。 这是什么行:

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

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

需要解释。 谢谢

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

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");