首先定义了一个枚举类
然后通过idea编译后查看class文件发现 一点没变,
问题1:不应该变成静态类吗?
问题2:通过javap反编译则和预期一样,但是通过jd_gui编译却和问题1样子一样。jd_gui和idea 和javap反编译得程度是不一样吗?
问题3:像图中这样定义枚举和直接写静态类 有什么区别吗?更加推荐哪种,为什么?
首先定义了一个枚举类
然后通过idea编译后查看class文件发现 一点没变,
问题1:不应该变成静态类吗?
问题2:通过javap反编译则和预期一样,但是通过jd_gui编译却和问题1样子一样。jd_gui和idea 和javap反编译得程度是不一样吗?
问题3:像图中这样定义枚举和直接写静态类 有什么区别吗?更加推荐哪种,为什么?
15 回答8.4k 阅读
8 回答6.2k 阅读
4 回答4.4k 阅读✓ 已解决
4 回答4k 阅读
1 回答2.9k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
javap 反编译生成的是更贴近 JVM 实际要执行的代码;而 jd_gui 反编译生成的则是更贴近原始编写的代码。
Java 里枚举类就是个语法糖。你想问为啥你自己不直接定义一个静态类
extends java.lang.Enum<>
?语法糖的作用当然是简化代码、增强可读性啊。