韩顺平java基础-11-枚举类与注解
韩顺平java基础-11-枚举类与注解
2024.1.5-2024.1.8
枚举类#
定义#
概念
定义常量对象,不能被修改
语法
1. 自定义类实现枚举
- 构造器私有化
- 去掉set方法
- 创建静态对象(new)
- 优化:加入final修饰符,避免类加载
2. enum关键字实现枚举
- 关键字 enum替换class
- 创建对象:对象名+实参列表
注意
- 本质是
public static final Season SPRING = new Season("春天","温暖");
简化成了SPRING("春天", "温暖");
- 使用无参构造器时,实参列表和小括号可以省略。
- 如果有多个常量对象,使用 , 逗号间隔
- 要求将常量对象写在最前面
enum类方法使用#
-
name()返回枚举对象的名字
-
ordinal()返回枚举对象的顺序
-
values()返回所有枚举对象数组
-
valueOf()将字符串转换成枚举对象
-
compareTo()比较两个枚举对象的顺序,相减
细节#
- 使用enum后,enum会隐式继承Enum类,因此不能继承其他类
- 使用enum后,依然是类,可以实现接口
注解#
Override注解 @Override
#
重写方法
- 语法校验,能够校验是否是重写,如果不是重写会报错
- 不写仍然可行,编译器仍然会判断是否重写
- 只能修饰方法
Deprecated注解#
表示某类已经过时,即不再推荐使用,但仍然可以使用
- 可以修饰方法、属性等
- 版本兼容过渡使用
SuppressWarnings注解#
抑制警告信息
- 作用范围与放置位置相关
- 可以修饰类、方法等
元注解Annotaion#
注解的注解
-
Target 指定注解在哪些地方使用,用于哪些元素
-
Retention 1) SOURCE 作用于编译器 2) CLASS 3) RUNTIME
-
Document 生成文档时,保留注解
-
Inherited 继承注解
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~