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

 

posted @ 2022-01-19 11:41  袁骞骞  阅读(110)  评论(0编辑  收藏  举报