为了账号安全,请及时绑定邮箱和手机立即绑定

枚举的 values()

枚举的 values()

青春有我 2021-06-22 17:39:25
为什么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()


查看完整回答
反对 回复 2021-06-30
  • 1 回答
  • 0 关注
  • 120 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信