当我们使用Java进行编程时,枚举是一种方便的方式来定义一组固定的常量。然而,在Java 16之前的版本中,在内部类中创建枚举可能会引入一些复杂性和考虑因素。
在本教程中,我们将深入探讨Java 16之前内部类中静态类型的历史悠久限制,然后讨论Java 16及更高版本中这些规则的显著放宽。
在Java 16之前,Java语言规范(JLS)严格规定了内部类中静态类型的规则:
- 嵌套的枚举类型隐式地是静态的,如JLS §8.9所述。
- 在非静态嵌套类型(内部类)中声明静态嵌套类型(包括枚举)是被禁止的,如JLS §8.1.3所述。
大约 2 分钟