关于枚举和反编译

首先定义了一个枚举类

然后通过idea编译后查看class文件发现 一点没变,
问题1:不应该变成静态类吗?
问题2:通过javap反编译则和预期一样,但是通过jd_gui编译却和问题1样子一样。jd_gui和idea 和javap反编译得程度是不一样吗?
问题3:像图中这样定义枚举和直接写静态类 有什么区别吗?更加推荐哪种,为什么?

阅读 2.1k
1 个回答

javap 反编译生成的是更贴近 JVM 实际要执行的代码;而 jd_gui 反编译生成的则是更贴近原始编写的代码。

Java 里枚举类就是个语法糖。你想问为啥你自己不直接定义一个静态类 extends java.lang.Enum<>?语法糖的作用当然是简化代码、增强可读性啊。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题