Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >枚举类型ElementType的简介

枚举类型ElementType的简介

作者头像
jack.yang
发布于 2025-04-05 11:53:48
发布于 2025-04-05 11:53:48
6100
代码可运行
举报
运行总次数:0
代码可运行

ElementType 是一个在 java.lang.annotation 包中定义的枚举类型,它表示 Java 程序元素(program element)的类型,这些程序元素可以被注解(annotation)所修饰。这个枚举类型与 @Target 元注解一起使用,以指定某个注解可以应用于哪些类型的 Java 程序元素。

下面是对 ElementType 枚举中每个值的详细解释:

  1. TYPE
    • 描述:类、接口(包括注解类型)、或枚举声明。
    • 示例:@MyAnnotation public class MyClass {}
  2. FIELD
    • 描述:字段声明(包括枚举常量)。
    • 示例:@MyAnnotation private int myField;
  3. METHOD
    • 描述:方法声明。
    • 示例:@MyAnnotation public void myMethod() {}
  4. PARAMETER
    • 描述:形式参数声明。
    • 示例:public void myMethod(@MyAnnotation String param) {}
  5. CONSTRUCTOR
    • 描述:构造器声明。
    • 示例:@MyAnnotation public MyClass(int value) {}
  6. LOCAL_VARIABLE
    • 描述:局部变量声明(但注意,Java 注解在 Java 8 之前不能用于局部变量)。
    • 示例(Java 8 及以上):void myMethod() { @MyAnnotation int localVar; }
  7. ANNOTATION_TYPE
    • 描述:注解类型声明。
    • 示例:@MyAnnotation public @interface MyOtherAnnotation {}
  8. PACKAGE
    • 描述:包声明。从 Java 9 开始,注解可以应用于包声明。
    • 示例(Java 9 及以上):@MyAnnotation package com.example;
  9. TYPE_PARAMETER
    • 描述:类型参数声明(Java 8 引入)。
    • 示例:public class MyClass<@MyAnnotation T> {}
  10. TYPE_USE
    • 描述:类型的使用(Java 8 引入)。这允许注解应用于任何类型的使用,如泛型、强制类型转换等。
    • 示例:public void myMethod(List<@MyAnnotation String> list) {}

这个枚举类型与 @Target 元注解一起使用,以指定注解的适用目标。例如,如果你有一个注解只想应用于方法和字段,你可以这样定义它:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Target({ElementType.METHOD, ElementType.FIELD})  
public @interface MyAnnotation {  
    // ...  
}

这意味着 @MyAnnotation 只能被用于方法和字段声明,不能用于其他类型的 Java 程序元素。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-05-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
花个几分钟,带你再了解一下Java注解
注解(Annotation)是在java 1.5开始引入的,它是java中很重要的一个知识点。现在使用的很多框架,例如:SpringBoot、Hibernate等都大量的使用了注解。
索码理
2022/12/28
2750
花个几分钟,带你再了解一下Java注解
你说啥什么?注解你还不会?
元注解就是注解自定义注解的注解。可能有点饶,一会看例子就明白了,直白点就是给你自定义的注解上一定要加的注解。
手撕代码八百里
2020/10/26
4690
【Java 注解】自定义注解 ( 元注解 )
@Target 注解用于说明该注解作用位置 , ElementType.METHOD 表示该注解用于标注 方法 ; 注解的作用位置 : 包 , 类 , 成员变量 , 方法 , 方法参数 , 局部变量 , 6 个作用位置 ;
韩曙亮
2023/03/29
1.2K0
【Java 注解】自定义注解 ( 元注解 )
Java 注解(Annotation
Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制。
joshua317
2021/12/20
9700
Java 注解(Annotation
【云+社区年度征文】深入理解Java注解
基本概念:注解,顾名思义,就是对某一事物进行添加注释说明,会存放一些信息,这些信息可能对以后某个时段来说是很有用处的。Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制。Java 语言中的类、方法、变量、参数和包等都可以被标注(添加某些信息)。在编译器生成类文件时,标注可以被嵌入到字节码中。Java 虚拟机可以保留标注内容,在运行时可以通过反射的方式获取到标注内容 。 当然它也支持自定义 的Java 标注。
Simon郎
2020/12/22
6330
夯实Java基础系列15:Java注解简介和最佳实践
Annotation 中文译过来就是注解、标释的意思,在 Java 中注解是一个很重要的知识点,但经常还是有点让新手不容易理解。
Java技术江湖
2019/10/15
6290
一起来看一下Java中的Annotation注解
我们在平时的开发过程中看到很多如@Override,@SuppressWarnings,@Test等样式的代码就是注解,注解是放到类、构造器、方法、属性、参数前的标记。
程序员的梦想
2019/10/21
5940
一起来看一下Java中的Annotation注解
【刨根问底】java注解--下
@Retention只能修饰注解定义,用于指定被修饰的注解可以保留多长时间,@Retention包含了一个RetentionPolicy类的value变量,所以使用此注解时必须为该value变量赋值。源码如下:
田维常
2019/07/16
2990
【刨根问底】java注解--下
Java 注解 Annotation
概述 了解 Java 注解前必须先了解元注解。 元注解:描述注解的注解。 如果明白元数据概念就比较好理解元注解 元数据:描述数据的数据。 还是比较抽象哈,下面举个例子说明下。 比如一个txt文件的元数据有 : 文件大小、创建时间、最后修改时间等数据。 JDK提供了4种元注解 @Retention 声明注解的生命周期 @Target 修饰注解可以使用到那些目标对象上 @Document 提取javadoc 文档 @Inherited 继承性,使用它,子类也集成该类的注解 1.@Retentio
java404
2018/05/18
7950
java系列之注解
我们在实际项目开发中使用注解的目的:为了追求低耦合,降低后期的维护成本。平时自己在实际项目也会经常用到注解,所以想着自己总结一下注解的知识点,毕竟"好记性不如烂笔头",忘记的时候可以自己打开文章梳理一下,下面开始进入正文。
沁溪源
2020/09/03
5120
女朋友说想要自己的注解,我又活下来了!!!
moon:看好了,我的宝~,你spring学的不错,那我先带你参观下Autowired吧~
moon聊技术
2021/08/20
5550
Java注解学习
java中我们经常要遇到各种注解,这些注解极大的方便了我们的开发。我们也就知道注解的原理好像也是一种接口和标志什么什么的,本质上说我们对JDK注解并不了解。所以理解JDK注解是我们java开发的基础。在spring中就大面积的使用了注解。所以理解这些基础的注解对于后期的开发都特别重要。
写一点笔记
2020/08/25
4310
Java注解学习
解惑Java注解类型(待更新)理解Java注解基本语法注解与反射机制运行时注解处理器Java 8中注解增强
java注解是在JDK5时引入的新特性,鉴于目前大部分框架(如Spring)都使用了注解简化代码并提高编码的效率,因此掌握并深入理解注解对于一个Java工程师是来说是很有必要的事。本篇我们将通过以下几个角度来分析注解的相关知识点
JavaEdge
2018/10/11
1.9K0
Java中注解是什么?提供了一个自定义注解的实例
Java中的注解是一种元数据,它可以提供有关代码的额外信息。在Java代码中,我们可以使用注解来标记类、方法或字段,以便我们可以在运行时或编译时访问这些信息。例如,我们可以使用注解来记录代码的作者、版本号或其他元数据,或者使用注解来控制代码的行为或属性。
用户1289394
2024/06/25
1480
Java中注解是什么?提供了一个自定义注解的实例
19 浅析 Java 注解(Annotation)
Java 5之后可以在源代码中嵌入一些补充信息,这种补充信息称为注解(Annotation),例如在方法覆盖中使用过的@Override注解,注解都是@符号开头的。
acc8226
2022/05/17
2250
19 浅析 Java 注解(Annotation)
自定义注解限流
注解用来给类声明附加额外信息,可以标注在类、字段、方法等上面,编译器、JVM以及开发人员等都可以通过反射拿到注解信息,进而做一些相关处理
高大北
2022/06/14
2390
android注解
包 java.lang.annotation 中包含所有定义自定义注解所需用到的原注解和接口。 如接口 java.lang.annotation.Annotation 是所有注解继承的接口,并且是自动继承,不需要定义时指定,类似于所有类都自动继承Object。 该包同时定义了四个元注解,Documented,Inherited,Target(作用范围,方法,属性,构造方法等),Retention(生命范围,源代码,class,runtime)。
提莫队长
2019/02/21
5360
Spring系列第十七讲 深入理解Java注解及Spring对注解的增强(上)
代码中注释大家都熟悉吧,注释是给开发者看的,可以提升代码的可读性和可维护性,但是对于java编译器和虚拟机来说是没有意义的,编译之后的字节码文件中是没有注释信息的;而注解和注释有点类似,唯一的区别就是注释是给人看的,而注解是给编译器和虚拟机看的,编译器和虚拟机在运行的过程中可以获取注解信息,然后可以根据这些注解的信息做各种想做的事情。比如:大家对@Override应该比较熟悉,就是一个注解,加在方法上,标注当前方法重写了父类的方法,当编译器编译代码的时候,会对@Override标注的方法进行验证,验证其父类中是否也有同样签名的方法,否则报错,通过这个注解是不是增强了代码的安全性。
易兮科技
2020/11/24
1.2K0
Spring系列第十七讲 深入理解Java注解及Spring对注解的增强(上)
SpringBoot如何创建一个自定义注解
奇怪的Java
2024/03/17
4200
java注解和反射
共有 7 个,3 个在 java.lang 中,剩下 4 个在 java.lang.annotation 中。
不期而遇丨
2022/09/09
3850
相关推荐
花个几分钟,带你再了解一下Java注解
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验