importjava.lang.annotation.ElementType;importjava.lang.annotation.Target;// 定义一个既能用于类也能用于方法的自定义注解@Target({ElementType.TYPE,ElementType.METHOD})public@interfaceMyCustomAnnotation{Stringvalue()default"";} 1.
ElementType.ANNOTATION_TYPE:应用于其他注解的元注解 ElementType.CONSTRUCTOR:应用于构造函数 ElementType.FIELD:应用于全局属性 ElementType.LOCAL_VARIABLE:应用于方法中的本地变量 ElementType.METHOD:应用于方法 ElementType.PACKAGE:应用于包 ElementType.PARAMETER:应用于方法的参数 ElementType.TYPE:应用于类、接口或者枚举...
@Target 用来约束注解可以应用的地方(如方法、类或字段),其中ElementType是枚举类型,其定义如下,也代表可能的取值范围 public enumElementType { /**标明该注解可以用于类、接口(包括注解类型)或enum声明*/TYPE, /** 标明该注解可以用于字段(域)声明,包括enum实例 */FIELD, /** 标明该注解可以用于方法声明 */MET...
* */@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)public@interfaceReport{inttype()default0;//无参方法 有默认值Stringlevel()default"0";Stringvalue()default"";} @Target 定义的 value 是 ElementType[] 数组,只有一个元素时,可以省略数组的写法。 定义Annotation 的步骤: 第一步,用 @inter...
ElementType.TYPE类型->MyAnnotation package com.haibing.customizeAnnotation; import java.lang.annotation.*; /** * * @date 2022/05/05 * @Version 1.0 * 自定义注解 */ @Documented @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Inherited public @interface MyAnnotation { String valu...
@Target(ElementType.Type) ElementType取值的类型: TYPE:类,接口或者枚举 FIELD:域,包含枚举常量 METHOD:方法 PARAMETER:参数 CONSTRUCTOR:构造方法 LOCAL_VARIABLE:局部变量 ANNOTATION_TYPE:注解类型 PACKAGE:包 @Retention 作用:指明修饰的注解的生存周期,即会保留到哪个阶段 ...
工具/原料 电脑 java 方法/步骤 1 这里我们看一下@Target的这个Annotation类 2 METHOD:表示用于方法 3 PARAMETER:表示用于参数 4 LOCAL_VARIABLE:表示用于局部变量 5 PACKAGE:表示用于包。注意事项 如果不设置@Target则默认是适用于所有的程序元素。ElementType的类型是enum也就是枚举 ...
Java注解可以支持任意类型。 类型注解只是语法而不是语义,并不会影响java的编译时间,加载时间,以及运行时间,也就是说,编译成class文件的时候并不包含类型注解。 2)新增ElementType.TYPE_USE 和ElementType.TYPE_PARAMETER(在Target上) 新增的两个注释的程序元素类型 ElementType.TYPE_USE 和 ElementType.TYPE_PARAMETER用...
例如,其类型使用@Target(ElementType.FIELD)元注释的注释只能写为字段声明的修饰符。 常量TYPE_USE对应于JLS 4.11中的类型上下文,以及两个声明上下文:类型声明(包括注释类型声明)和类型参数声明。 例如,其类型使用@Target(ElementType.TYPE_USE)进行元注释的注释可以写在字段的类型上(或者在字段的类型内,如果它是嵌套的...