Java学习笔记:枚举与注解详解

需积分: 5 0 下载量 146 浏览量 更新于2024-07-08 收藏 724KB PDF 举报
"Java学习笔记第11章深入讲解了枚举和注解的概念与用法,通过实际案例分析了如何使用枚举来改进固定数量对象的表示,并介绍了注解在代码中的应用及其元注解的含义。" 在Java编程语言中,枚举是一种特殊的类,用于表示一组固定的常量。在上述学习笔记中,首先提出了一个需求,即创建表示季节的类。传统的做法是创建一个Season类,包含name和desc属性,但这样会导致可以创建任意数量的Season实例,而实际上季节只有四个:春天、夏天、秋天和冬天。因此,引入枚举(enum)来解决这个问题更为合适。 11.3和11.4部分介绍了如何自定义枚举类。使用`enum`关键字可以创建枚举类型,例如: ```java public enum Season { 春天("温暖"), 夏天("炎热"), 秋天("凉爽"), 冬天("寒冷"); private String desc; private Season(String desc) { this.desc = desc; } // 可以添加方法和属性 } ``` 枚举提供了很多内置的方法,如`values()`返回所有枚举常量的数组,`ordinal()`返回枚举常量的顺序等。11.5部分可能涵盖了这些方法的详细说明和练习。 11.6部分讨论了枚举如何实现接口,这使得枚举类型可以拥有更多的行为。例如,Season枚举可以实现一个SeasonInfo接口,提供获取季节描述的方法。 接下来,笔记转向了注解(Annotation)的学习。注解是Java提供的一种元数据,它提供了将信息附加到代码(类、方法、变量等)上的方式,这些信息可以被编译器或运行时环境用来进行检查、优化、生成代码等。 11.7章节介绍了几个常见的注解: - `@Override`:用于标记重写父类方法的注解,编译器会检查该方法是否真的重写了父类方法,如果没有,会报错。 - `@Deprecated`:标记过时的方法或类,编译器会发出警告,建议开发者不再使用这些元素。 - `@SuppressWarnings`:用于抑制编译器警告,例如,如果你知道某个特定警告是安全的,可以使用此注解避免看到警告。 11.8章节则讲解了元注解(Meta-Annotation),这是用于定义其他注解的注解。例如: - `@Retention`:指定注解的生命周期,例如运行时(Runtime)、编译时(Class)或源码时(Source)。 - `@Target`:指定注解可以应用到哪些程序元素上,如方法、字段、类等。 - `@Documented`:指示这个注解应该包含在生成的JavaDoc中。 - `@Inherited`:允许子类继承父类的注解。 最后,11.9章节可能是提供了练习题,帮助读者巩固所学的枚举和注解知识。 总结来说,这份学习笔记详细介绍了枚举在表示固定数量对象时的优势,以及注解在代码管理和编译过程中的作用,同时也涵盖了元注解的相关概念,对于Java程序员来说,这些都是非常重要的基础知识。