java 中的枚举是一种简洁的语法方式,用于创建一个固定数量常量的集合。当枚举中定义了显式的构造函数时,枚举实例就必须作为方法调用来使用。
原因
类比而言,枚举可被视为特殊类型的类。当定义了一个显式的构造函数时,枚举实例的创建逻辑就会发生变化。不像隐式无参构造函数那样自动创建实例,显式构造函数需要在实例化时提供参数。
立即学习“Java免费学习笔记(深入)”;
为了确保枚举实例的创建过程与类的实例化保持一致,java 强制将枚举实例视为方法调用,并要求在实例化时提供必需的参数。
示例
public enum errormessage { success("0000"); private final String code; errormessage(string code) { this.code = code; } }
在此示例中,errormessage 枚举包含一个名为 success 的枚举常量。success 具有一个带有 string 参数的构造函数,该参数表示错误代码。
要创建 success 实例,我们需要像调用方法一样使用它:
ErrorMessage success = ErrorMessage.SUCCESS;
通过将枚举实例视为方法调用,java 强制我们传递所需的构造函数参数,从而确保枚举值的正确创建。