我偶然发现了这一点,想知道java是否允许这样做。
这是我的意思的示例:
public enum Days {MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY}
public class EnumTest {
public static void main(String[] args) {
methodThatDoesSomething(Days.FRIDAY);
}
public static void methodThatDoesSomething(Days day){
System.out.println(day);
}
}
FRIDAY
正如预期的那样,这个的输出是。
如果我像这样更改代码:
public class EnumTest {
public static void main(String[] args) {
methodThatDoesSomething(Days.FRIDAY.MONDAY);
}
public static void methodThatDoesSomething(Days day){
System.out.println(day);
}
}
输出是MONDAY
.
我也收到警告:
静态字段 Days.MONDAY 应该以静态方式访问
但它仍然可以编译和运行。
任何可以使用这个多重枚举引用的例子都将不胜感激。