java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Java自定义注解

关于java中自定义注解的使用

作者:crazyK.

这篇文章主要介绍了关于java中自定义注解的使用,注解像一种修饰符一样,应用于包、类型、构造方法、方法、成员变量、参数及本地变量的声明语句中,需要的朋友可以参考下

一、java注解的定义、描述

注解是一种能被添加到java源代码中的元数据,方法、类、参数和包都可以用注解来修饰。注解可以看作是一种特殊的标记,可以用在方法、类、参数和包上,程序在编译或者运行时可以检测到这些标记而进行一些特殊的处理。

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Indexed
public @interface Component {
    String value() default "";
}

二、创建一个注解的基本元素

修饰符

访问修饰符必修为public,不写默认为public

关键字

关键字为@interface

注解名称

注解名称为自定义注解的名称,例如上面的Component

注解类型元素

注解类型元素是注解中内容,根据需要标志参数,例如上面的value

三、元注解(@Target、@Retention、@Inherited、@Documented)

我们上面的创建的注解Component上面还有几个注解(@Target、@Retention、@Inherited、@Documented),这四个注解就是元注解,元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的元注解类型,它们被用来提供对其它 注解类型作标志操作(可以理解为最小的注解,基础注解)

1.@Target

用于描述注解的使用范围,该注解可以使用在什么地方

Target类型描述
ElementType.TYPE应用于类、接口(包括注解类型)、枚举
ElementType.FIELD应用于属性(包括枚举中的常量)
ElementType.METHOD应用于方法
ElementType.PARAMETER应用于方法的形参
ElementType.CONSTRUCTOR应用于构造函数
ElementType.LOCAL_VARIABLE应用于局部变量
ElementType.ANNOTATION_TYPE应用于注解类型
ElementType.PACKAGE应用于包

2.@Retention

表明该注解的生命周期

生命周期类型描述
RetentionPolicy.SOURCE编译时被丢弃,不包含在类文件中
RetentionPolicy.CLASSJVM加载时被丢弃,包含在类文件中,默认值
RetentionPolicy.RUNTIME有JVM加载,包含在类文件中,运行时可以被获取到

3.@Inherited

这是一个标记注解,@Inherited阐述了某个被标注的类型是被继承的。如果一个使用了@Inherited的注解类型被用于一个class,则这个注解将被用于该class的子类

4.@Documented

表明该注解标记的元素可以被Javadoc等工具文档化

到此这篇关于关于java中自定义注解的使用的文章就介绍到这了,更多相关Java自定义注解内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文