Java SE 宋红康 days04-高级篇-枚举类

1. 自定义枚举类

  a. 声明 类A 对象的属性:private  final 修饰

  b. 私有化类的构造器,并给对象属性赋值

  c. 提供当前枚举类的多个对象:public  static  final 修饰的

  d. 其他诉求

2. Enum 定义枚举类(建议

  a. 提供当前枚举类的对象,多个对象之间用 逗号 分隔,以 封号 结尾

  b. 声明 枚举类 对象的属性,private  final 修饰

  c. 私有化类的构造器,并给对象属性赋值

  d. 其他诉求

3. Enum 类的常用方法

  values() 方法:返回枚举类型的对象数组。该方法可以很方便地遍历所有的枚举值。

  valueOf(String str):可以把一个字符串转为对应的枚举类对象。要求字符串必须是枚举类对象的“名字”(否则异常:IllegalArgumentException)

  toString():返回当前枚举类对象常量的名称

  

4. 使用 Enum 关键字定义的枚举类实现接口的情况:

  a. 实现接口,在 Enum 类中实现抽象方法

  b. 让枚举类的对象分别实现接口中的抽象方法

5. 注解(Annotation

  使用示例

    示例一:生成文档相关的注解

    示例二:在编译时进行格式检查(JDK内置的三个基本注解)(@override、@Deprecated、@SuppressWarnings)

    示例三:跟踪代码依赖性,实现替代配置文件功能

6. 如何自定义注解(参照@SuppressWarnings定义)

  ① 注解声明为 @interface

  ② 内部定义成员,通常使用 value 表示

  ③ 可以指定成员的默认值,使用 default 定义

  ④ 如果自定义注解没有成员,表明是一个标识作用

  :如果注解有成员,在使用注解时,需要指明成员的值;必须配上注解的信息处理流程(反射)才有意义

7. JDK提供的4个元注解(用来修饰其他Annotation定义)

  自定义元注解的时候,一般都会指明两个:Retention和Target;

  Retention:用于指定该 Annotation 的生命周期

      

  Target:用于指定被修饰的 Annotation 能用于修饰哪些程序元素。

      

  Documented(使用频率低):标识所修饰的注解在被javaDoc解析式,保留下来;

  Inherited(使用频率低):被它修饰的 Annotation 将具有 继承性;

8. JDK8新特性

  可重复注解

    ① 在 自定义注解MyAnnotation 上声明 @Repeatable,成员值为 新注解MyAnnotations.class

    ② MyAnnotation 的 Target 和 Retention 和 MyAnnotations 相同;

  类型注解

    ElementType.TYPE_PARAMETER 表示该注解能写在类型变量的声明语句中(如:泛型声明)。

    ElementType.TYPE_USE 表示该注解能写在使用类型的任何语句中。

posted @ 2022-10-01 21:56  LinxhzzZ  阅读(21)  评论(0)    收藏  举报