Java 中的枚举常量是什么数据类型?
What datatype is an enum constant in Java?
给定一个像这样的 emum
public class Main {
enum Level {
LOW,
MEDIUM,
HIGH
}
public static void main(String[] args) {
Level myVar = Level.MEDIUM;
System.out.println(myVar);
}
}
打印出来的值是MEDIUM,它的数据类型是什么?
Java中的一个enum
是它自己的类型。这里,Level
枚举嵌套在 Main
中,因此类型为 Main$Level
.
Java 中的枚举是 class extend java.lang.Enum<E>
“myVar”的类型是 class Main.Level
其中 extends java.lang.Enum<Main.Level>
来自官方Java教程:
Note: All enums implicitly extend java.lang.Enum. Because a class can only extend one parent (see Declaring Classes), the Java language does not support multiple inheritance of state (see Multiple Inheritance of State, Implementation, and Type), and therefore an enum cannot extend anything else.
https://docs.oracle.com/javase/tutorial/java/javaOO/enum.html
给定一个像这样的 emum
public class Main {
enum Level {
LOW,
MEDIUM,
HIGH
}
public static void main(String[] args) {
Level myVar = Level.MEDIUM;
System.out.println(myVar);
}
}
打印出来的值是MEDIUM,它的数据类型是什么?
Java中的一个enum
是它自己的类型。这里,Level
枚举嵌套在 Main
中,因此类型为 Main$Level
.
Java 中的枚举是 class extend java.lang.Enum<E>
“myVar”的类型是 class Main.Level
其中 extends java.lang.Enum<Main.Level>
来自官方Java教程:
Note: All enums implicitly extend java.lang.Enum. Because a class can only extend one parent (see Declaring Classes), the Java language does not support multiple inheritance of state (see Multiple Inheritance of State, Implementation, and Type), and therefore an enum cannot extend anything else.
https://docs.oracle.com/javase/tutorial/java/javaOO/enum.html