龙空技术网

Java 注解

奔腾如海 36

前言:

当前朋友们对“注解java”可能比较关心,兄弟们都需要知道一些“注解java”的相关知识。那么小编在网络上收集了一些对于“注解java””的相关知识,希望咱们能喜欢,小伙伴们快快来学习一下吧!

注解(Annotation):JDK5引入的,用于修饰程序元素,不会对被修饰的程序元素产生直接影响,注解分为普通注解(修饰程序元素的注解)和元注解(修饰注解的注解),JDK自带了很多注解,例如:@SuppressWarnings 忽略警告信息,我们也可以自定义注解,注解既可以用在类上,也可以用在方法上,成员变量上也可以

java自定义注解可以用@interface这个关键字进行声明,注解内部只有成员变量,具体声明的方式和类中的成员变量声明方式不太一样,具体示例:int value() default 0; int 代表该成员变量的数据类型, value成员变量的名字,default 0:默认值,成员变量可以声明多个,即可以有默认值也可以没有,注解的成员变量采用的数据类型可以是8大基本数据类型,也可以String ,CLass,enum,或者上述类型的数组形式

注解其实就是一个标识,比如把它用在类的某个方法上,那么我们用反射加载这个类,获取某个方法,然后判定当前方法是否用了这个注解,如果用了就采取某种行为,没用,就采取另一种行为,这样就可以完成某种加标记的逻辑,例如Junit单元测试基本上就是采用这样原理(注解加反射)

java常用的元注解:

Retention:限定自定义注解的使用域范围,包含三种源码中,字节码中,jvm运行时

Target:指定该注解使用在哪一个地方,例如只能用于类上还是只能用于方法上

Inherited:用来标识自定义的注解具有继承性,例如,一个注解被这个元注解进行了修饰,那么这个自定义注解就有了继承性,体现在使用了这个自定义注解的类,的子类自动继承了该注解

Documented:用来标识自定义注解可以被JavaDoc工具解析

标签: #注解java