Java基础:枚举与注解详解

需积分: 6 0 下载量 48 浏览量 更新于2024-08-05 收藏 27KB DOCX 举报
本篇Java基础笔记主要关注了Java SE中的两个重要主题:枚举类和注解。首先,我们来探讨枚举类: 1. **枚举类的定义**:Java中,枚举(enum)是用于创建具有固定值的类。自定义枚举类是通过使用`enum`关键字定义,这些类本质上继承自`java.lang.Enum`类。这使得枚举在编码时可以确保变量只能取预定义的几个值,提高了代码的可读性和一致性。 2. **类中常用方法**:枚举提供了如`values()`和`valueOf()`等方法。`values()`方法返回一个包含所有枚举常量的数组,而`valueOf()`是一个静态方法,根据给定的字符串查找对应的枚举实例。 3. **实现接口**:枚举不仅可以作为类使用,还可以实现接口。可以通过两种方式实现:一是普通方式,直接为每个枚举常量添加接口方法;二是让每个枚举对象覆盖接口方法,从而实现特定的功能。 接着,我们转向注解: **注解**在Java中主要用于提供元数据,对源代码进行额外的信息标记,增强了代码的可读性和可维护性。其主要作用包括: - **文档生成**:注解可以为编译器生成文档,帮助其他开发者理解代码含义。 - **编译时检查**:注解可以在编译阶段检查代码的合规性,如@Deprecated用于标记过时的方法或类。 - **配置和依赖跟踪**:注解可用于配置项,以及在编译时检查代码依赖关系。 1. **JDK内置注解**:包括`@Override`、`@Deprecated`、`@SuppressWarnings`等,这些都是在日常开发中常见的元数据标记。 2. **自定义注解**:允许开发者创建自己的注解类型,通过无参数方法定义配置参数,支持的基本数据类型、字符串、类、枚举、注解以及数组类型。默认值可以通过`default`关键字设置,单参数注解可以省略括号中的`k=v`。 最后,我们通过一个示例来展示注解的使用: ```java public class Gvim4Java20210418 { public static void main(String[] args) { System.out.println(Season.SPRING); System.out.println(Season.SUMMER); } } enum Season { SUMMER("夏天"), SPRING("春天"); private String seasonName; private Season(String seasonName) { this.seasonName = seasonName; } // 使用自定义注解 @Deprecated // 表示该季节已过时 @SeasonType // 自定义注解类型,用于记录季节类型 public String getSeason() { return seasonName; } } ``` 在这个例子中,`Season`枚举被标注了`@Deprecated`,表示它可能不再推荐使用。同时,`getSeason`方法上使用了自定义的`@SeasonType`注解,以附加更多的信息。 总结来说,这篇笔记详细介绍了Java枚举类和注解的基础概念,包括它们的定义、方法、使用场景,以及注解的作用和自定义注解的特性。掌握这些内容对于理解Java编程语言的元数据管理和代码组织至关重要。