核心提示:注解:定义标记简化书写。 特点:将运行时出现问题体现编译时期:@Override它就是程序中的一个标记。定义格式:@interface 注解名称{//注解属性。属性类型 属性名();属性类型 属性名(...
注解:定义标记简化书写。
特点:
将运行时出现问题体现编译时期:@Override
它就是程序中的一个标记。
定义格式:
@interface 注解名称
{
//注解属性。
属性类型 属性名();
属性类型 属性名() default 类型对应的值;
}
注解内部有一个默认的属性value。
属性类型:8种基本数据类型,String ,Class,数组,enum,Annotation
注解可以加载包,类,成员,局部。
注解有一个声明周期:
是通过一个注解来体现的。
@Retention(RetentionPolicy.RUNTIME)
RetentionPolicy是一个枚举类型。
有三个值:
CLASS:默认的。编译器将把注释记录在类文件中,但在运行时 VM 不需要保留注释
RUNTIME:编译器将把注释记录在类文件中,在运行时 VM 将保留注释,因此可以反射性地读取
SOURCE:编译器要丢弃的注释
注解如何来获取:
通过反射的形式。类的注解获取类所属Class对象。
方法注解要获取Method对象。
什么时候用注解呢?
配置信息较为简单可以将其配置在注解上。
方便于类在反射的是使用该配置信息。这样就不用在对配置信息文件进行读写操作。
注解也有一定义的局限性。
将值直接定义在程序内部。
Java免费学习 Java自学网 http://www.javalearns.com
好好生活网 http://www.haohaosh.com