文章目录

一、注解简介二、注解作用三、Java 预定义注解

一、注解简介


​注释​ 是使用文字描述程序 , 是 给开发和维护程序的人员看的 , 编译器在编译时会将注释删除 ;

​注解​ 也是用于 ​描述程序​ 的 , 但是注解是 给 计算机 准确的说是 编译器 看的 , 让 编译器 执行一些操作 ;

​注解对开发环境的要求 :​ JDK 1.5 1.5 1.5 之后的版本 ;

​注解在 Java 中的地位 :​ Java 源码文件分为 4 4 4 种类型 , 接口 , 类 , 枚举 , 注解 ; 由此可见 , 注解在 Java 语言中占有者重要的低位 ;

​注解作用位置 :​ 包 , 类 , 成员变量 , 方法 , 方法参数 , 局部变量 , 6 6 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") 忽略所有警告 ;