You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java Enum类是否默认继承Java Object类?

Java Enum类是否继承Object类解答

核心结论:java.lang.Enum类默认继承java.lang.Object类,所有自定义枚举的最终根父类都是Object。

  • Java语言规范明确,除Object类本身外,所有类的继承链向上溯源最终都会到达Object,Enum作为Java标准库的类也遵循这个规则。
  • 自定义枚举的直接父类是编译器隐式指定的java.lang.Enum,开发者不能手动为枚举类指定其他父类,因此你定义的ORDER枚举的完整继承链为:ORDER -> java.lang.Enum -> java.lang.Object。

你提供的枚举示例代码如下:

enum ORDER {
    FIRST,
    SECOND,
    THIRD,
    FOURTH
}

你可以通过反射打印类继承链的方式直接验证结论,参考验证代码:

public class EnumCheck {
    public static void main(String[] args) {
        // 验证枚举实例是Object的实例
        System.out.println(ORDER.FIRST instanceof Object); // 输出true

        // 逐层打印父类
        Class<?> clz = ORDER.class;
        while (clz != null) {
            System.out.println(clz.getName());
            clz = clz.getSuperclass();
        }
        /* 输出顺序:
         * ORDER
         * java.lang.Enum
         * java.lang.Object
         */
    }
}

补充说明:Enum类重写了Object类的equals()、hashCode()、toString()方法,其中equals()直接通过==判断对象相等,保证枚举单例特性不被破坏。普通自定义枚举类默认被final修饰,不允许被其他类继承。


内容的提问来源于stack exchange,提问作者shamanth gowda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.02 01:45:52