面试官问: 枚举类能否继承类和实现接口,你可以这样回答

Java基础---枚举 枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则编译器就会报错,枚举可以让编译器在编译时就可以控制源程序赋给的非法值,使用普通变量的方式在开发阶段无法实现这一目标。 在JDK1.5之后,使用关键字enum定义一种新的类型,称为枚举类型 枚举(enum)和类(class)、接口(interface)是同一级别 阅读详情
AI摘要

本文探讨了Java中的枚举类特性,指出枚举类虽然不能多重继承,但可以实现多个接口。通过示例展示了枚举类如何实现接口的两种方式,并提供了相关代码实现。

前言

 毋庸置疑,在Java类的继承实现关系中,只能单继承 (一个类只能有一个直接父类),但是可以多实现!继承是指继承某个类,实现是指实现某个接口!

 枚举类在我们日常开发中也是被经常用到,通常被用来定义常量,那么枚举类可以被继承吗? 可以实现接口吗? 下面正文开始解答!!!

 

1. 枚举类

枚举是一种特殊的数据类型,在Java5之后新增的特性,允许用常量来表示特定的数据片断,所有的枚举都继承自java.lang.Enum类。

由于Java 不支持多继承,所以枚举对象不能再继承其他类,但可以实现接口。 

 

public enum StatusEnum{
    YES,
    NO;

    public static void main(String[] args) {
        System.out.println(StatusEnum.YES.name());
    }
}

关系图

  

 

2. 枚举类实现接口

2.1 定义接口

public interface StatusService {
    void printStatus();

}

2.1 枚举类实现接口,这里讲两种方式

   方式一:

public enum StatusEnum implements StatusService{
    YES,
    NO;

    @Override
    public void printStatus() {
        System.out.println("status...");
    }

    public static void main(String[] args) {
        StatusEnum.NO.printStatus();
        StatusEnum.YES.printStatus();
    }
}

  运行结果

 

  

  方式二:

public enum StatusEnum implements StatusService{
    YES{
        @Override
        public void printStatus(){
            System.out.println("yes...");
        }
    },
    NO{
        @Override
        public void printStatus(){
            System.out.println("no...");
        }
    };

    public static void main(String[] args) {
        StatusEnum.NO.printStatus();
        StatusEnum.YES.printStatus();
    }
}

 

 

 

JAVA的枚举 本例和上例的执行结果完全相同。 阅读详情

相关推荐

Java枚举高级用法:实现接口与定义抽象方法

本文深入探讨了Java枚举的高级用法,重点介绍了枚举实现接口和定义抽象方法两大特性。通过代码示例展示了枚举如何实现单个或多个接口,以及通过抽象方法让每个枚举常量拥有独立行为。文章还对比了不同实现方式的优缺点,分析了适用场景,并提供了结合字段、构造函数的综合应用示例。最后简要提及性能考量,指出带抽象方法的枚举比简单枚举略慢约8.7%,但带来的灵活性优势远超微小性能损失。这些高级特性使枚举不仅能表示常量,还能实现多态行为,大大增强了代码的表达能力和可维护性。

记录学习的过程 1363

java能力-枚举浅析

1、枚举的概念: 被enum关键字修饰的类型就是枚举类型 示例: public enum Color { YELLOW, GREEEN, RED; } 枚举的优点: 将常量统一起来,进行统一管理。 场景: 错误码,状态机等 本质: 枚举的本质是 java.lang.enum 的子类。 2、枚举的常用方法: values() : 返回枚举的实例数组, 而且该数组的元素严格保持在 enum中声明的顺序。 name() : 返回实例名字。 ordinal(): 返回实例声明

张井天的博客 2241

【Unity】Pico VR 开发实战:从环境搭建到交互实现

本文是一份详细的Unity Pico VR开发实战指南,涵盖从环境搭建到核心交互实现的全流程。详细讲解了如何集成Pico Unity Integration SDK与XR Interaction Toolkit,配置开发环境,并重点解析了手柄输入处理、射线交互以及VR UI操作三大核心模块的代码实现与优化技巧,帮助开发者快速上手Pico VR应用开发。

rice5的博客 1173

java中枚举类不可以被继承。

● 枚举类继承了java.lang.Enum类,而不是默认的Object类。而java.lang.Enum类实现了java.lang.Serializable和java.lang.Comparable接口。枚举可以继承其他类 实现接口。

music0ant的专栏 1792

水环境综合管控平台完整方案

水环境综合管控平台项目(2026-2027)摘要 项目概况: 总投资5亿元的水环境综合管控平台项目,是国家数字政府与生态文明建设战略的重要实践。项目严格遵循2026年最新政策标准,整合物联网、大数据和AI技术,构建覆盖水质监测、污染溯源、生态保护等全流程的智能管控体系。 核心内容: 系统架构:采用五层设计(基础设施层至展示层),集成10大核心功能模块,包括水质动态监测、污染智能溯源和生态评估预警系统; 技术创新:运用2026年最新边缘计算和数字孪生技术,实现毫秒级水质异常响应和三维流域仿真; 实施规划:分7

随读手记 403

UE 动态获取 资源缩略图 下载到本地或返回图片信息

UE 动态加载资源缩略图 返回图片信息或保存到本地

qq_46080252的博客 1936

Jetpack 架构组件你了解多少?_jetpack组件(1),被面试官问的HarmonyOS鸿蒙问题难倒了怎么回答

我们直接就使用 上文定义的 User 类来改造@Entityvar id: Long = 0 //给每个实体类都添加一个字段,并设为主键@Entity注解:将User声明成了一个实体类注解:将id字段设为主键,将设置为true,使得主键的值自动生成这一部分比较关键,因为所有访问数据库的操作都是在这里封装新建一个 UserDao 接口,如下:@Dao@Insert@Update@Delete@Dao注解:让Room能够识别到UserDao是一个Dao。

2401_83621004的博客 585

HDR视频技术之七:逆色调映射

HDR 技术说是继 4K 之后视频领域的又一次重大技术突破,不仅提高图像的动态范围,同时也提供了更宽的色域,并提升了画面在高光和暗部的细节信息,带给观看者更加真实的视觉体验。但作为 HDR 产业链的核心,内容短缺的问题仍然是 HDR 普及和成熟的重要限制因素。众多电视厂商将 HDR 技术作为其产品规划中的重要技术,主要是在硬件方面进行提升。而由于 HDR 内容制作对于设备要求较高,对采集、调色、显示等多方面都需要较高的质量要求,内容制作的复杂度和周期长等因素,导致了 HDR 内容的匮乏。

多媒体开发者 2422

写给大忙人看的,阿里面试官压箱底的Java岗面试宝典,拿offer就靠它了

这篇文章的篇幅很长,为了不影响大家的阅读体验,所以就只截取了部分内容,文中资料已整理打包存放网盘,有需要完整版PDF的朋友可以点击下方的名片自取!

m0_71777195的博客 179

Notion卡顿救星:3分钟搞定DNS优化,手机电脑全平台加速指南

本文针对Notion访问慢和卡顿问题,提供了全平台DNS优化与Hosts文件修改的详细指南。通过更换优质DNS服务器或建立静态IP映射,可有效解决因网络延迟和域名解析导致的加载缓慢,实现手机与电脑端的快速加速,提升Notion使用流畅度。

v6b7n8m9q0的博客 1306

微信小程序 - 完美解决“code“:“NO_AUTH“,“message“:“商户号该产品权限未开通,请前往商户平台>产品中心检查后重试“(微信小程序报错问题排查解决)

微信小程序NO_AUTH: 商户号该产品权限未开通,请前往商户平台>产品中心检查后重试?微信小程序提示商户号该产品权限未开通,请前往商户平台>产品中心检查后重试,微信小程序"code":"NO_AUTH"错误码怎么解决,报错信息如下:httpResponseBody[{"code":"NO_AUTH","message":"商户号该产品权限未开通,请前往商户平台>产品中心检查后重试"}],微信小程序支付问题,如何解决这个问题,虚拟支付商户号,虚拟支付商户号里面没有产品支付的页面,排查商户号没问题,商户号配置

🏆 前端领域优质创作者 4444

顺丰java面试题_顺丰java开发面试分享

getEntry的时候,首先要获取hash(key)的值,通过hash&table.length获取到的hashCode值得到entry在桶中存放的位置,判断如果传入的key与要获得key的hash相等的话并且key.equals(e.key)也相等,则返回entry,如果返回的jentry不为空的话,则getValue值。通信:进程间通信IPC(管道,信号量,共享内存,消息队列),线程间可以直接独写进程数据段(如全局变量)来进程通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。

m0_67391377的博客 697

【OpenClaw从入门到精通】第41篇:2026年4月最新版——从零开始搭建你的第一个安全AI助理(保姆级实战教程)

2026年3月CNCERT联合发布《OpenClaw安全使用实践指南》后,安全部署成为OpenClaw使用的核心前提。本文针对新手及进阶用户,基于官方安全指引,提供三套实战部署方案:阿里云一键部署(新手首选)、Docker容器隔离部署(进阶推荐)、本地安全安装(测试专用),并详解阿里云百炼Coding Plan API接入流程。全文涵盖环境准备、分步实操、安全加固、问题排查等全流程,所有命令可直接复制执行,无需依赖外部代码库。通过本文,读者可零基础搭建安全隔离的OpenClaw AI助理,兼顾实用性与安全性

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 2197

顺丰java面试题_顺丰java开发面试分享,顺丰java面试经面试题

今天要给大家分享的是一个小伙伴的顺丰java开发面试过程,其中包括了面试流程,面试题目,和回答,感兴趣的朋友可以来了解一下哈。一、面试流程是中午进行的面试,首先是做自我介绍,之后就是讲一下项目,然后就是回答一些问题。二、面试题1、有没有看过jdk源码?看过java源码吗?看过java集合类源码?2、看过arraylist和hashmap吗?3、hashmap的get方法是什么?答:ashMap的g...

weixin_39875419的博客 2043

CMM软件:PC-DMIS汽车制造二次开发

PC-DMIS 是一种广泛应用于坐标测量机(CMM)的测量软件,它不仅提供了强大的测量功能,还支持用户通过二次开发来扩展其功能。二次开发可以显著提升测量效率,满足特定的测量需求,减少重复性工作,提高数据处理和分析的准确性。本节将介绍 PC-DMIS 二次开发的基本概念、开发环境的搭建以及开发中常用的工具和方法。PC-DMIS 二次开发为用户提供了强大的工具,可以显著提升测量效率、减少重复性工作并提高数据处理和分析的准确性。

kkchenjj的博客 1813

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

JAVA基础面试题:Java中的密封类(Sealed Classes)及其在面向对象设计中的应用

密封类是Java语言在面向对象设计领域的一次重要创新,它通过严格的继承控制机制,增强了代码的安全性和可维护性。在实际项目中,合理使用密封类可以显著提升领域建模的精确性和API的稳定性。当然,密封类并非万能,开发者需要根据具体场景权衡其使用。面试官听完Victor的回答,满意地点了点头:"非常全面,既有理论深度,又有实际案例,看来你对密封类的理解确实很透彻。本文以轻松有趣的面试场景为背景,详细解析了Java中的密封类及其在面向对象设计中的应用。

qq_61302385的博客 939

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

朋友被阿里面试官灵魂拷问,跑来求救。。

最近有个朋友去阿里面试,被面试官来了个灵魂拷问: 注解是干什么的? 一个注解可以使用多次么?如何使用? @Inherited是做什么的? @Target中的`TYPE_PARAMETER和TYPE_USER`用在什么地方? 泛型中如何使用注解? 注解定义可以实现继承么? spring中对注解有哪些增强?@Aliasfor注解是干什么的? 第1个他回答上来了,后面的几个直接懵了,然后就没有然后了。 之后跑来问我,然后我让他看本文,准备下次

q1472750149的博客 145

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

【两万字】面试官:听说你很懂集合源码,接我二十道问题!

问题一:看到这个图,你会想到什么? (PS:截图自《编程思想》) 答: 这个图由Map指向Collection的Produces并不是说Map是Collection的一个子类(子接口),这里的意思是指Map的KeySet获取到的一个视图是Collection的子接口。 我们可以看到集合有两个基本接口:Map和Collection。但是我个人认为Map并不能说是一个集合,称之为映射或许更为合适,因为它的KeySet视图是一个Set类型的键集,所以我们姑且把它也当做集合。 Collection继承了Itera

weixin_47067712的博客 355

面试官:源码你完全搞懂了吗?用这20个问题检验你

【高能预警】:两万字长文,建议先收藏再看,深度源码分析,二十个问题带你一网打尽集合面试。由于文章篇幅过长,本文将持续更新中 添加小助手VX:xuanwo008即可领取全部面试题 问题一:看到这个图,你会想到什么? (PS:截图自《编程思想》) 答: 这个图由Map指向Collection的Produces并不是说Map是Collection的一个子类(子接口),这里的意思是指Map的KeySet获取到的一个视图是Collection的子接口。 我们可以看到集合有两个基本接口:Map和..

java3456的博客 318

Spring系列第16篇:深入理解java注解(预备知识)

最近有个朋友去阿里面试,被面试官来了个灵魂拷问:注解是干什么的?一个注解可以使用多次么?如何使用?@Inherited是做什么的?@Target中的`TYPE_PARAMETER和TYP...

路人甲Java 2万+

2020-11-21

C#语言类型 若面试官问你,c#语言有几种数据类型,你该怎么回答呢? 回答:有引用类型和值类型,引用类型又包括类,接口和委托;值类型包括结构体和枚举类型。所有都以object作为基类型。 具体以图表形式展现: ...

weixin_48233971的博客 281

从一道面试题开始说起 枚举 动态代理的原理

从一道面试题开始说起 枚举 动态代理的原理

sdfwcc的博客 213

Java面试必问:==和equals的区别,从String到hashCode一篇讲透

在Java开发中,对象相等性判断是日常编码与面试的高频考点。理解==与equals的差异,需要从内存模型与引用语义入手。String常量池与Integer缓存机制展示了JVM对常用对象的优化,而hashCode与equals的契约关系直接决定HashMap等集合的正确行为。本文从基础概念到工程实践,系统拆解这些底层原理,并给出重写规范与避坑清单,帮助开发者写出稳健的代码。

weixin_32306957的博客 87

rabbitmq原理和架构,spring底层实现原理面试题

前言 正值金九银十面试旺季,现在的面试官一天少说得看几百份简历,你投出去的简历如果没有特别吸引人的点和新颖突出,毫无疑问你的简历不是在垃圾桶就是在回收站里边待着了,那么什么样的简历才能吸引到面试官的眼球呢?今天我就把阿里面试官筛选简历的规则告诉你,让你从简历开始就先人一步! 为什么说简历很重要? 一份好的简历可以在整个申请面试以及面试过程中起到非常好的作用。 在不夸海口的情况下,写出一份好的简历也是一项很棒的能力。 一.java基础面试知识点 java中==和equals和hashCode的区别 int、

EDGNB123的博客 178

那些年Android面试官常问的知识点,,阿里面试100%会问到的JVM

如果你觉得这些内容对你有帮助,可以扫码领取!!!!

D1561691的博客 1074
上一篇: Js获取iframe中的元素
下一篇: Java 动态代理详解 ( 附示例源码,建议收藏)
让程序飞
博客等级 码龄10年 8830粉丝 99原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

让程序飞

您的鼓励将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值