概述
注解,Annotation,JDK5.0 提出, 增加了对元数据(MetaData)的支持
注解,是代码里的 特殊标记,是添加到java代码中的元数据
可以修饰 类、方法、变量、参数 ,此时只是增加个标记
解析(用反射方式)注解时,才会增加额外的功能
可以在 编译、类加载、运行 时读取、进行相应处理
- Java 标注可以通过 反射 获取标注内容。
- 支持 自定义 注解
spring、springboot、mybatis等知名框架,都支持注解开发,可以极大的简化开发
一句话理解
注解可以 修饰 类、方法、变量、参数 ,解析(用反射方式)注解时,会增加额外的功能,目的是:简化开发
使用
语法格式:
@注解名@注解名()@注解名(参数)
使用位置
可以修饰 类、方法、变量、参数
作用
编译检查
编译器能够实现基本的编译检查。java已经定义好
检查该方法是否覆盖父类的方法,如下图:
加上 @Override 注解后,当方法不是覆盖父类的方法时,会提示错误
编写文档
通过注解更好的生成javadoc文档。java已经定义好
常见注解:
例子
参见:https://www.malaoshi.top/show_1IX3jUzfRKq.html
代码分析
通过注解对代码进行分析(使用反射)。可自定义注解
在springboot、mybatis等框架中,几乎都是注解
java内置的注解
@Deprecated
可声明类、方法
表示该类、方法废弃,不推荐使用,使用时,ide会有删除线提示
例子 :
查看 java.util.Date 类 ,很多方法都废弃了,就是通过该注解实现的,如下:
@Deprecated
public Date(int year, int month, int date) {
this(year, month, date, 0, 0, 0);
}
使用该方法时,ide会有删除线提示,如下图:
@SuppressWarnings(“all”)
可声明类、方法
该类、方法使用了不推荐的代码,不会提示警告信息。
参数:
- deprecation,使用了过时的类或方法时的警告
- unchecked,执行了未检查的转换时的警告
- fallthrough,当 switch 程序块直接通往下一种情况而没有 break 时的警告
- path,在类路径、源文件路径等中有不存在的路径时的警告
- serial,当在可序列化的类上缺少serialVersionUID 定义时的警告
- finally ,任何 finally 子句不能正常完成时的警告
- all,关于以上所有情况的警告
例子 :
如下图,使用了废弃的方法,但没有提示警告信息
https://baike.baidu.com/item/Java%20%E6%B3%A8%E8%A7%A3/4404368


