java注解和反射

2020-05-19

注解的作用:

不是程序本身,可以对程序做出解释,和注释有相似之处。
可以被其他程序(如编译器)所读取。
注解的格式:以“@注解名”在代码上存在,还可以在其中添加一些参数。

注解在哪里使用:可以附在包,类,方法,字段上面。等于给他们添加了额外的辅助信息。我们可以通过反射机制实现对这些元数据的访问。

注解举例:

@override:重写的注解
@Deprecated:过时的注解
元注解:对注解的注解。有如下四类元注解。

@Target:用于描述注解的使用范围(即被描述的注解可以用在什么地方)
@Retention:表示需要在什么级别保存注释信息,用于描述注解的生命周期(source>class>runtime)
@Document:说明该注解将被包含在javadoc中
@Inherited:说明子类可以继承父类中的该注解
自定义注解:使用@interface自定义注解时,自动继承了java.lang.annotation.Annotation接口

@interface用来声明一个注解,格式:public @interface 注解名{定义内容}

其中的每一个方法实际是声明了一个配置参数

方法的名称就是参数的名称

返回值类型就是参数的类型(返回值只能是基本类型,Class,String,enum)

可以通过default来声明参数的默认值

如果只有一个参数成员,一般参数为value

注解元素必须要有值,我们定义注解元素时,经常使用空字符串,0作为默认值。

原文地址:https://www.cnblogs.com/codercen/p/12915315.html