APP下载

Java中注解学习系列教程-2

消息来源:baojiabao.com 作者: 发布时间:2026-05-23

报价宝综合消息Java中注解学习系列教程-2

在上一篇文章中,我们讲解了:Java中注解的定义、JDK中内建注解、第三方注解。

本文是注解系列教程中的第二篇。来看看今天主要内容:

1:注解的分类

2:元注解说明

3:自定义注解宣告

一:注解的分类

注解根据执行机制、来源、功能来分:

1.1:按照执行机制来分,即时注解存在于程式的哪个阶段

源代码注解(source):在源代码中存在的。

如:lombak的@data注解:

编译注解(class):编译期。既是在源代码和class中都有的。

JDK自带的三个注解(@Override(重写、覆盖)、@Deprecated(废弃的,过时的)、@Suppvisewarnings(压缩警告))都是编译期的注解

举例: override

执行是注解(runtime):在执行阶段任然起作用的,甚至会影响执行逻辑。

如:spring 的autowired注解:

按照来源来区分分为:JDK自带的注解、第三方注解、自定义注解

如下图:

1.3:按照功能来区分:

按照功能来区分,可以分为:元注解和非元注解。如下图:

二:元注解说明

2.1:什么是元注解?

元注解是指注解的注解。JAVA中元注解主要包括以下四个:

2.2:@Target

target注解的作用:标注注解的作用域。如果有多个作用域用英文逗号进行分割

target注解作用域有哪些?

构造器、字段、区域性变数、方法、包、引数、界面。具体如下图:

2.3:@Retention

retention的作用:注解的生命周期。

注解生命周期有哪些呢?

只在源代码显示的souce、编译期的class、执行时候存在的runtime。如下图:

生命周期大小:

2.4:@Inherited

inherite:标识性的元注解。标识当前的注解可以由子注解继承

2.5:@Documented

documented:在生成文件的时候,会被包含

三:自定义注解的写法:

@Target({ElementType.METHOD, ElementType.FIELD})

@Retention(RetentionPolicy.RUNTIME)

@Inherited

@Documented

public @interface MyAnnotation1 {

public abstract String value;

}

宣告:本文是由凯哥(凯哥Java)释出的Java注解学习系列教程第二篇。未经允许,不得转载

2019-12-15 13:53:00

相关文章