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作为默认值。