Java @Target怎么用

1.@Target定义

此注解说明注解的作用目标,默认值为任何元素。

为这个 value 传值:

@Target(value = {ElementType.FIELD})

被这个 @Target 注解修饰的注解将只能作用在成员字段上,不能用于修饰方法或者类。其中,ElementType 是一个枚举类型,有以下一些值:

  • ElementType.TYPE:允许被修饰的注解作用在类、接口和枚举上

  • ElementType.FIELD:允许作用在属性字段上

  • ElementType.METHOD:允许作用在方法上

  • ElementType.PARAMETER:允许作用在方法参数上

  • ElementType.CONSTRUCTOR:允许作用在构造器上

  • ElementType.LOCAL_VARIABLE:允许作用在本地局部变量上

  • ElementType.ANNOTATION_TYPE:允许作用在注解上

  • ElementType.PACKAGE:允许作用在包上

2.@Target 使用:创建自定义注解

package com.one;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.lang.annotation.ElementType;
 
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface MyAnnotation2 {
 
 int[] value();
}

以上就是我们对元注解 @Target 的一些基础介绍,以及它使用方法的举例,小伙伴们下次做注释的时候可以尝试用@Target 来修饰。

 

 

1.@Retention定义这里的 RetentionPolicy 依然是一个枚举类型,它有以下几个枚举值可取:RetentionPolicy.SOURCE:当前注解编译期可见,不会写入 clas ...