为什么values浏览java.lang.Enum源码时看不到方法?我正在使用 Intellij 2017.1.1 和 JDK 1.8.0_131另外,为什么是这种方法static?我本来希望成为一个实例方法。
1 回答
智慧大石
TA贡献1946条经验 获得超3个赞
您看不到它,因为它不是在Enum
类上定义的,而是在Enum
(即您enum
的类)的特定子类上定义的。
这是因为静态方法不是多态的:values
子类上的方法不会覆盖超类中的方法,而是隐藏它。
您可以反射性地获取类的枚举常量:
YourEnum.class.getEnumConstants()
添加回答
举报
0/150
提交
取消