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 表示该注解能写在使用类型的任何语句中。
标签:Java,自定义,对象,Annotation,枚举,days04,修饰,注解,宋红康 From: https://www.cnblogs.com/LinxhzZ/p/16747872.html