注解

注解(Annotation)
  • 概述:从 JDK 5.0 开始, Java 增加了对元数据(MetaData) 的支持, 也就是Annotation(注解)。Annotation 可以像修饰符一样被使用, 可用于修饰包, 类, 构造器, 方法, 成员变量, 参数, 局部变量的声明, 这些信息被保存在 Annotation的 “name=value” 对中。注解是一种趋势,一定程度上
    可以说:框架 = 注解 + 反射 + 设计模式。
  • 使用:使用 Annotation 时要在其前面增加 @ 符号, 并 把该 Annotation 当成
    一个修饰符使用。用于修饰它支持的程序元素
生成文档相关的注解
1
2
3
4
5
6
7
@author 标明开发该类模块的作者,多个作者之间使用,分割
@version 标明该类模块的版本
@see 参考转向,也就是相关主题
@since 从哪个版本开始增加的
@param 对方法中某参数的说明,如果没有参数就不能写
@return 对方法返回值的说明,如果方法的返回值类型是void就不能写
@exception 对方法可能抛出的异常进行说明 ,如果方法没有用throws显式抛出的异常就不能写
  • @param @return 和 @exception 这三个标记都是只用于方法的
  • @param的格式要求:@param 形参名 形参类型 形参说明
  • @return 的格式要求:@return 返回值类型 返回值说明
  • @exception的格式要求:@exception 异常类型 异常说明
  • @param和@exception可以并列多个

  • 示例:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    package com.annotation.javadoc;
    /**
    * @author shkstart
    * @version 1.0
    * @see Math.java
    */
    public class JavadocTest {
    /**
    * 程序的主方法,程序的入口
    * @param args String[] 命令行参数
    */
    public static void main(String[] args) {
    }
    /**
    * 求圆面积的方法
    * @param radius double 半径值
    * @return double 圆的面积
    */
    public static double getArea(double radius){
    return Math.PI * radius * radius;
    }
    }
在编译时进行格式检查(JDK 内置的三个基本注解)
1
2
3
4
5
6
@Override: 限定重写父类方法, 该注解只能用于方法

@Deprecated: 用于表示所修饰的元素(类, 方法等)已过时。通常是因为
所修饰的结构危险或存在更好的选择

@SuppressWarnings: 抑制编译器警告
  • demo:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    package com.annotation.javadoc;
    public class AnnotationTest{
    public static void main(String[] args) {
    @SuppressWarnings("unused")
    int a = 10;
    }
    @Deprecated
    public void print(){
    System.out.println("过时的方法");
    }
    @Override
    public String toString() {
    return "重写的toString方法()";
    }
    }
0%