专业编程基础技术教程

网站首页 > 基础教程 正文

Java 注解 java 注解实现原理

ccvgpt 2024-11-05 09:54:37 基础教程 8 ℃

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

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

Java 注解 java 注解实现原理

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

java常用的元注解:

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

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

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

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

Tags:

最近发表
标签列表