注解的简单理解

一、注解概述

简单介绍:注解是插入你代码中的注释或者说是一种元数据。这些注解信息可以在编译期使用预编译工具进行处理,也可以在运行期使用java反射机制进行处理。

注解作用:1.编译器检查2.定义注解

注解优点:提高开发效率,成本低

注解缺点:耦合性大,并不利于后期维护

二、注解的定义

注解通过@interface关键字进行定义

示例:

注解的使用:最简单的注解格式@Test

常用注解:@override(表示对父类方法的覆盖,应该不陌生吧!)

三、元注解

元注解是可以注解到注解上的注解。(一种基本注解,能应用到其他注解上面)

它的作用和目的就是给其他普通的注解进行解释说明 

元标签有 @Retention、@Documented、@Target、@Inherited、@Repeatable 5 种。 (其中两种比较重要)

1.@Retention(表明注解的存活时间)

取值:RetentionPolicy.SOURCE 注解只在源码阶段保留,在编译器进行编译时它将被丢弃忽视。

           RetentionPolicy.CLASS 注解只被保留到编译进行的时候,它并不会被加载到 JVM 中。 

           RetentionPolicy.RUNTIME 注解可以保留到程序运行的时候,它会被加载进入到 JVM 中,

格式:

2.@Target(指定注解应用的地方)

取值:ElementType.ANNOTATION_TYPE 可以给一个注解进行注解

           ElementType.CONSTRUCTOR 可以给构造方法进行注解

           ElementType.FIELD 可以给属性进行注解

           ElementType.LOCAL_VARIABLE 可以给局部变量进行注解

           ElementType.METHOD 可以给方法进行注解

           ElementType.PACKAGE 可以给一个包进行注解

           ElementType.PARAMETER 可以给一个方法内的参数进行注解

           ElementType.TYPE 可以给一个类型进行注解,比如类、接口、枚举 

格式:

四、注解的属性

注解只有成员变量,没有方法。‘

示例:

使用:

五、注解的提取

注解通过反射获取。首先可以通过 Class 对象的 isAnnotationPresent() 方法判断它是否应用 了某个注解 。

这篇博客对于注解写的特别好,不理解的推荐大家看一下。

链接:https://blog.csdn.net/briblue/article/details/73824058

发布了75 篇原创文章 · 获赞 164 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/qq_41679818/article/details/102077322