1. 枚举类
    a) 类的对象只有有限个,确定的
    b) 当需要定义一组常量时,建议使用枚举类
    c) 定义枚举类
    i. 自定义枚举类
  2. 私有化的构造器,并对private final赋值—有限个类的对象
  3. Private final 修饰对象的属性。
  4. 提供枚举类的多个对象— 利用静态final来创建需要的对象
    ii. Enum关键字定义枚举类
  5. 定义的枚举类默认继承lang.enum
  6. 提供当前枚举类的对象,多个对象之间用逗号隔开,末尾的对象分号结束
  7. Values()方法:返回枚举类型的对象数组,可以遍历所有的枚举值
  8. toString()方法:输出当前枚举类对象常量的名称
  9. valueOf(String objname)方法:根据提供的objname,返回同名的枚举类的类名的对象
    d) 使用enum关键字实现接口
    i. 在enum类中实现抽象方法
    ii. 在enum类中的每个对象中实现抽线方法
  10. 注解 Annotation
    a) Jdk5.0新增加,是代码里的特殊标记,程序员可以在不改变原有逻辑下,向源文件中嵌入补充信息
    b) 实例
    i. 生成文档相关的注解
    ii. 在编译时进行格式检查
  11. @override: 重写父类方法
  12. @Deprecated: 所修饰的元素(类、方法)已经过时
  13. @SuppressWarnings: 一直编译器警告
    iii. 示意代码跟踪性,提供配置功能
    c) 自定义注解
    i. 注解声明为@interface
    ii. 内部定义成员,通常使用value表示
    iii. 可以指定成员的默认值,default定义
    iv. 如果自定义的注解没有成员,表面表示作用标记
    d) 四种元注解:对现有的注解进行解释说明的注解
    i. Retention:用于指定该Annotation的生命周期:source\CLASS默认行为\RUNTIME–>能通过反射获取,在内存中加载
    ii. Target:用于指定被修饰的Annotation能用于修饰哪些程序元素,@Target包含一个名为value的成员变量。
    iii. Documented:指定该Annotation类将被javadoc工具提取成文档—Retention必须为RUNTIME
    iv. Inherited:具有继承性,某个类使用了@inherited修饰的Annotation,则其子类将自动具有该注解。
  14. Jdk8注解
    a) 可重复注解
    i. @Repeatable()
    b) 类型注解–Target
    i. TYEPE_PARAMETER:该注解能写在类型变量的申明语句中
    ii. TYPE_USE: 该注解能写在使用类型的任何语句中