java.lang.Enum<E>类与enum关键字的关系(区别)
https://bbs.csdn.net/topics/370150146?list=14581133
使用 enum xxx{}这样声明的枚举类型都是继承自java.lang.Enum的
1、写一个枚举类
package com.ruoyi.web.util;
public enum EnumSingle {
SINGLE;
}
2、编译一下
javac EnumSingle.java 生成 EnumSingle.class
3、用jad反编译一下
jad -sjava EnumSingle.class
// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3)
// Source File Name: EnumSingle.java
package com.ruoyi.web.util;
public final class EnumSingle extends Enum
{
public static EnumSingle[] values()
{
return (EnumSingle[])$VALUES.clone();
}
public static EnumSingle valueOf(String s)
{
return (EnumSingle)Enum.valueOf(com/ruoyi/web/util/EnumSingle, s);
}
private EnumSingle(String s, int i)
{
super(s, i);
}
public static final EnumSingle SINGLE;
private static final EnumSingle $VALUES[];
static
{
SINGLE = new EnumSingle("SINGLE", 0);
$VALUES = (new EnumSingle[] {
SINGLE
});
}
}
可以看到,public final class EnumSingle extends Enum