- 枚举类
a) 类的对象只有有限个,确定的
b) 当需要定义一组常量时,建议使用枚举类
c) 定义枚举类
i. 自定义枚举类 - 私有化的构造器,并对private final赋值—有限个类的对象
- Private final 修饰对象的属性。
- 提供枚举类的多个对象— 利用静态final来创建需要的对象
ii. Enum关键字定义枚举类 - 定义的枚举类默认继承lang.enum
- 提供当前枚举类的对象,多个对象之间用逗号隔开,末尾的对象分号结束
- Values()方法:返回枚举类型的对象数组,可以遍历所有的枚举值
- toString()方法:输出当前枚举类对象常量的名称
- valueOf(String objname)方法:根据提供的objname,返回同名的枚举类的类名的对象
d) 使用enum关键字实现接口
i. 在enum类中实现抽象方法
ii. 在enum类中的每个对象中实现抽线方法 - 注解 Annotation
a) Jdk5.0新增加,是代码里的特殊标记,程序员可以在不改变原有逻辑下,向源文件中嵌入补充信息
b) 实例
i. 生成文档相关的注解
ii. 在编译时进行格式检查 - @override: 重写父类方法
- @Deprecated: 所修饰的元素(类、方法)已经过时
- @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,则其子类将自动具有该注解。 - Jdk8注解
a) 可重复注解
i. @Repeatable()
b) 类型注解–Target
i. TYEPE_PARAMETER:该注解能写在类型变量的申明语句中
ii. TYPE_USE: 该注解能写在使用类型的任何语句中