通过idea的反编译插件看到的内容为什么不一样?
创建一个枚举类ColorX:
public enum ColorX {
RED, GREEN, BLUE;
}
我在网上看到别人反编译出来的内容是这样:
public final class ColorX extends Enum
{
public static ColorX[] values()
{
return (ColorX[])$VALUES.clone();
}
public static ColorX valueOf(String name)
{
return (ColorX)Enum.valueOf(enum01/ColorX, name);
}
private ColorX(String s, int i)
{
super(s, i);
}
public static final ColorX RED;
public static final ColorX GREEN;
public static final ColorX BLUE;
private static final ColorX $VALUES[];
static
{
RED = new ColorX("RED", 0);
GREEN = new ColorX("GREEN", 1);
BLUE = new ColorX("BLUE", 2);
$VALUES = (new ColorX[] {
RED, GREEN, BLUE
});
}
}
而我自己在idea上用默认反编译插件查看class文件的内容却是这样:
public enum ColorX {
RED,
GREEN,
BLUE;
private ColorX() {
}
}
显然少了很多东西,这是为什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
缺的东西在编译时,编译器会自动加上,相当于是java语言内部的对enum类型的实现。全都反编译出来反而是画蛇添足了。