JAVA-元注解和注解

简介: JAVA-元注解和注解

故事背景:罗芭是一名正在学习java的妹子,最近看甲骨文的官方文档,学到了注解Annotation这里,发现注解我可以自定义,但罗芭不会诶。但是布洛特 亨德尔已经学习过了java注解。

罗芭,help me~

唰唰唰,俺老亨来也。

老亨:首先,实现一个自定义注解需要了解元注解,因为自定义注解实现需要元注解做支持。

这里我们先做一下了解。

@Retention:
用于指定被修饰的自定义注解可以保留多久,该元注解有如下属性值:
RetentionPolicy.SOURCE:编译器将直接丢弃被修饰的注解。
RetentionPolicy.CLASS:默认值,编译器将把注解记录在class文件中,当运行Java程序时,虚拟机不再保留注解;
RetentionPolicy.RUNTIME:编译器将把注解记录在class文件中,当运行java程序时,虚拟机保留注解,程序可以通过反射获取该注解;
@Target:
用于指定被修饰的自定义注解只能用于修饰程序中哪些元素,常用属性值有:
ElementType.FIELD:应用于全局属性
ElementType.METHOD:应用于方法
ElementType.PARAMETER:应用于方法的参数
ElementType.TYPE:应用于类、接口或者枚举声明
@Documented
执行javadoc命令时,被该元注解修饰的自定义注解也会生成在文档中
@Inherited
如果父类所使用的注解有@Inherited修饰,则子类可以继承该注解,否则不能继承。

那么注解是什么呢?

罗芭:嘛是注解呀?老亨:注解是一种标记,使类或接口附加额外信息,帮助编译器和 JVM 完成一些特定功能

可以理解注解是一张标签,给商品标记价格、材料、尺码等信息,标签是不可以卖滴,通过贴标签这样的形式,让商品有了金钱属性。类如果被贴上了标签,就代表这个类拥有了这个标签所代表的功能或者属性,用这种方式来简化代码。

元注解和注解的关系是什么?

罗芭:你刚才说了元注解和注解,他俩有什么联系呀?

老亨:元注解是可以注解到注解上的注解(也是一种标签,是给注解加标签的),或者说元注解是一种基本注解,但是它能够应用到其它的注解上面

注解是什么时候被JDK引入的?

老亨:注解并不是一开始就有的原住民,是在jdk1.5之后引入的。

为什么JDK引入注解?

罗芭:为什么要用这个注解尼?

老亨:和没有注解之前进行对比,有了注解之后可以提高编码效率。

如:开发人员用注解写好一个类,其他开发人员能直接用;我们写一段程序,使用注解之后,可以直接生成文档。

注解用在什么地方?什么时候使用注解?

罗芭:不行,知识好多,我要打包带走,先把基础概念弄清楚,再实现自定义注解吧。

老亨:你说的对,那你先消化一下吧。

相关文章
|
30天前
|
XML Java 编译器
Java学习十六—掌握注解:让编程更简单
Java 注解(Annotation)是一种特殊的语法结构,可以在代码中嵌入元数据。它们不直接影响代码的运行,但可以通过工具和框架提供额外的信息,帮助在编译、部署或运行时进行处理。
87 43
Java学习十六—掌握注解:让编程更简单
|
24天前
|
Java 开发者 Spring
[Java]自定义注解
本文介绍了Java中的四个元注解(@Target、@Retention、@Documented、@Inherited)及其使用方法,并详细讲解了自定义注解的定义和使用细节。文章还提到了Spring框架中的@AliasFor注解,通过示例帮助读者更好地理解和应用这些注解。文中强调了注解的生命周期、继承性和文档化特性,适合初学者和进阶开发者参考。
45 14
|
24天前
|
前端开发 Java
[Java]讲解@CallerSensitive注解
本文介绍了 `@CallerSensitive` 注解及其作用,通过 `Reflection.getCallerClass()` 方法返回调用方的 Class 对象。文章还详细解释了如何通过配置 VM Options 使自定义类被启动类加载器加载,以识别该注解。涉及的 VM Options 包括 `-Xbootclasspath`、`-Xbootclasspath/a` 和 `-Xbootclasspath/p`。最后,推荐了几篇关于 ClassLoader 的详细文章,供读者进一步学习。
30 12
|
18天前
|
Java 编译器
Java进阶之标准注解
Java进阶之标准注解
28 0
|
1月前
|
JSON Java 数据库
java 常用注解大全、注解笔记
关于Java常用注解的大全和笔记,涵盖了实体类、JSON处理、HTTP请求映射等多个方面的注解使用。
35 0
java 常用注解大全、注解笔记
|
2月前
|
Arthas Java 测试技术
Java字节码文件、组成,jclasslib插件、阿里arthas工具,Java注解
Java字节码文件、组成、详解、分析;常用工具,jclasslib插件、阿里arthas工具;如何定位线上问题;Java注解
Java字节码文件、组成,jclasslib插件、阿里arthas工具,Java注解
|
1月前
|
IDE Java 编译器
java的反射与注解
java的反射与注解
16 0
|
2月前
|
Java 编译器 程序员
Java注解,元注解,自定义注解的使用
本文讲解了Java中注解的概念和作用,包括基本注解的用法(@Override, @Deprecated, @SuppressWarnings, @SafeVarargs, @FunctionalInterface),Java提供的元注解(@Retention, @Target, @Documented, @Inherited),以及如何自定义注解并通过反射获取注解信息。
Java注解,元注解,自定义注解的使用
|
1月前
|
XML Java 数据格式
Java-spring注解的作用
Java-spring注解的作用
23 0
|
2月前
|
Java 数据库连接 数据格式
【Java笔记+踩坑】Spring基础2——IOC,DI注解开发、整合Mybatis,Junit
IOC/DI配置管理DruidDataSource和properties、核心容器的创建、获取bean的方式、spring注解开发、注解开发管理第三方bean、Spring整合Mybatis和Junit
【Java笔记+踩坑】Spring基础2——IOC,DI注解开发、整合Mybatis,Junit
下一篇
无影云桌面