加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

Java注解annotation的用途说明

发布时间:2021-05-22 04:32:58 所属栏目:编程 来源:互联网
导读:本日在看早年写的代码,发明本身对注解的相识还不长短常透彻,常常选择性就忽视了对注解实现的探讨,遂查询资料进修了一下。 注解是什么 实现名目 从代码来看我

本日在看早年写的代码,发明本身对注解的相识还不长短常透彻,常常选择性就忽视了对注解实现的探讨,遂查询资料进修了一下。

注解是什么

实现名目

从代码来看我们知道注解的实现名目是:

public @interface MyAnnotation{ 

    属性列表; 

以是我们有了第一向觉,注解也许是一个接口。通过查询资料得知(可以通过反编译软件),现实上 @interface 是自界说接口对 annotation 接口的担任,@interface 现实是一个语法糖。

import java.lang.annotation.Annotation; 

public interface MyAnnotation extends Annotation{ 

    属性列表; 

行使位置

类、要领、成员变量、形参位置。

分类

差异角度,我们对注解能有差异的分类,但知道了注解的实现道理后就会大白,现实上用法和实现要领都是一回事。

来历

1. JDK注解:一样平常都是在编译时起用作的注解,好比我们最为认识的 @Override。

2. 第三方框架注解

3. 自界说注解

运行机制(保存计策)

@Retention({保存计策}) 

    public @interface MyAnnotation{ 

        属性列表; 

    } 

1.源码(SOURCE)注解:注解只在源码中存在,编译成.class文件就不存在了,也就是说只能起到 “看” 的浸染。

2.编译(CLASS)注解:注解在源码和.class文件中都存在(JDK自带注解都属于编译时注解),一样平常用来作语法校验。

3.运行(RUNTIME)注解:在运行阶段还起浸染,乃至会影响运行逻辑的注解(@Autowired属于运行时注解),第三方框架和自定注解一样平常回收 runtime 的保存计策,能实现依靠注入、切面编程等成果。

元注解

现着实上面,我们已经看到一个元注解了(@Retention)。元注解就是加在注解上描写注解的注解。 一共有5个。

1. @Documented

在天生javadoc的时辰就会把@Documented注解给表现出来。

2. @Target(要害)

限制浸染位置,Method、Class等等。

9. @Inherited

被 @Inherited 注解的注解修饰了一个父类,假如他的子类没有被其他注解修饰,则它的子类也担任了父类的注解。

10. @Retention(要害)

上文的保存计策注解,影响注解浸染。

6. @Repeatable (不重要)

@Repeatable 注解是用于声明其余范例注解的元注解,来暗示这个声明的注解是可一再的。@Repeatable的值是另一个注解,其可以通过这个另一个注解的值来包括这个可一再的注解。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读