枚举类
enum 定义枚举类
枚举类 enum 的使用说明:
使用 enum 定义的枚举类默认继承了 java.lang.Enum 类。
枚举类的构造器只能使用 private 权限修饰符。
枚举类的所有实例必须在枚举类中显式列出,列出的实例系统会自动添加 public static final 修饰。
必须在枚举类的第一行声明枚举类对象,多个对象之间用逗号隔开,末尾用分号结束。
1 | public enum SeasonEnum { |
Enum 类主要方法
Enum 类的主要方法:
- values():返回枚举类型的对象数组。该方法可以很方便地遍历所有的枚举值。
- valueOf(String str):可以把一个字符串转为对应的枚举类对象,这个字符串必须是枚举类对象的名字,否则会报出 IllegalArgumentException 异常。
- toString():返回当前枚举类对象的名称。
注解
概述
注解(Annotation)其实就是代码里的特殊标记,这些标记可以在编译、类加载、运行时被读取,并执行相应的处理。通过使用 Annotation, 可以在不改变原有逻辑的情况下, 在源文件中嵌入一些补充信息。
Annotation 可用于修饰包、构造器、方法、成员变量、参数、局部变量的声明,这些信息被保存在 Annotation 的 “name = value” 对中。
应该把注解当作修饰符来使用,用于修饰它支持的程序元素。
常见注解示例
生成文档相关
- @auther:标明开发该类模块的作者,多个作者使用逗号分隔。
- @version:标明该类模块的版本。
- @see:参考转向,也就是相关主题。
- @since:从哪个版本开始增加的。
- 用于方法:
- @param:对方法中某参数的说明,如果没有参数就不能写。格式要求:@param 形参名 形参类型 形参说明
- @return:对方法返回值的说明,如果方法的返回值类型是 void 就不能写。格式要求:@return 返回值类型 返回值说明
- @exception:对方法可能抛出的异常进行说明 ,如果方法没有用 throws 显式抛出的异常就不能写。格式要求:@exception 异常类型 异常说明
1 | /** |
编译时进行格式检查
JDK 内置的三个基本注解,在编译时进行检查:
- @Override:限定重写父类方法, 该注解只能用于方法。
- @Deprecated:用于表示所修饰的元素以及被弃用。
- @SuppressWarnings:抑制编译器警告。
1 | public class AnnotationTest{ |
JDK 中的元注解
JDK 的元 Annotation 用于修饰其他 Annotation 定义,分别是:
- Retention
- Target
- Documented
- Inherited
@Retention
@Retention:只能用于修饰一个 Annotation 定义, 用于指定该 Annotation 的生命周期,包含一个 RetentionPolicy 类型的成员变量, 使用 Retention 注解时必须为该 value 成员变量指定值:
- RetentionPolicy.SOURCE:在源文件中有效,编译器直接丢弃这种策略的注释。
- RetentionPolicy.CLASS:在 class 文件中有效,当运行 Java 程序时不会保留注解,这是默认值。
- RetentionPolicy.RUNTIME:在运行时有效,程序可以通过反射获取该注释。
@Target
@Target:用于修饰 Annotation 定义, 用于指定被修饰的 Annotation 能用于修饰哪些程序元素。@Target 也包含一个名为 value 的成员变量。
@Documented 和 @Inherited
@Documented:用于指定被该元 Annotation 修饰的 Annotation 类将被 javadoc 工具提取成文档。默认情况下,javadoc 是不包括注解的。
- 定义为 Documented 的注解必须设置 Retention 值为 RUNTIME。
@Inherited:被它修饰的 Annotation 将具有继承性。如果某个类使用了被 @Inherited 修饰的 Annotation, 则其子类将自动具有该注解。