文章目录
- 一、注解简介
- 二、注解作用
- 三、Java 预定义注解
一、注解简介
注释 是使用文字描述程序 , 是 给开发和维护程序的人员看的 , 编译器在编译时会将注释删除 ;
注解 也是用于 描述程序 的 , 但是注解是 给 计算机 准确的说是 编译器 看的 , 让 编译器 执行一些操作 ;
注解对开发环境的要求 : JDK 1.5 之后的版本 ;
注解在 Java 中的地位 : Java 源码文件分为
种类型 , 接口 , 类 , 枚举 , 注解 ; 由此可见 , 注解在 Java 语言中占有者重要的低位 ;
Java 源码文件分为 种 Java 源码文件分为 v 种类型 , 接口 , 类 , 枚举 , 注解 ; 由此可见 , 注解在 Java 语言中占有者重要的低位 ; 枚举 , 注解 ; 由此可见 , 注解在 Java v语言中占有者重要的低位 ;
注解作用位置 : 包 , 类 , 成员变量 , 方法 , 方法参数 , 局部变量 , 6 个作用位置 ;
二、注解作用
注解的三种作用 :
① 编写文档 : 通过注解 , 生成 Java API 文档 , 通过抽取 Java 代码文档注释生成文档 ;
② 代码分析 : 通过在相应位置的注解对代码进行分析 , 使用反射技术, 抽取注解 ;
③ 编译检查 : 编译器在编译时进行的基本检查 , 如判断方法参数是否为空 , 判断重写方法是否合法 ;
编写文档示例 : 在 /** */
文档注释中 , 使用 @author
注解表示作者 , 使用哪个 @version
表示版本 , 使用 @since
表示 java 版本 ; 方法中使用文档注释 , 会自动添加参数描述注解 @param
和 返回值描述注解 @return
; 这些描述注解在生成 Java API 文档时 , 会被抽取出来 , 用于生成文档 ;
/**
* 注解生成文档
*
* @author hsl
* @version 0.1
* @since 1.5
*/
public class Student {
/**
* 构造函数
* @param name 参数一
* @param age 参数二
*/
Student(String name, int age){
}
}
编译检查示例 : 最常见的注解 @Override
, 在重写父类方法时 , 方法上都有 @Override
注解 , 该注解的作用就是用于编译检查 , 编译时检查该方法是否是覆盖的父类方法 , 如果不是 , 编译中途失败退出 ;
@Override
public String toString() {
return super.toString();
}
代码检查 , 生成文档 , 这两种方式是系统定义好的 , 只能使用 , 不能修改 ;
对于开发者来说 , 注解的重点就是进行 代码分析 ;
三、Java 预定义注解
在 Java 语言中 , JDK 预定义了一些注解 ;
@Override 注解 : 编译时检查被该注解 标注 的方法是否是父类的 方法 / 接口 ;
@Deprecated 注解 : 表示被该注解标注的内容已经过时 ; 建议使用新版本的方案 ; 参考 util.Date 类 , 有很多过时的方法 ;
@SuppressWarnings : 忽略警告 ; @SuppressWarnings("all")
忽略所有警告 ;