美文网首页
Java - 注解

Java - 注解

作者: sunboximeng | 来源:发表于2018-06-20 00:24 被阅读10次

对代码的说明

  • 注释:给程序员看的。
    分为单行注释、多行注释和文档注释(用于生成API文档)。
  • 注解:给计算机看的。
    最常见的一个注解:@Override
    文档注释里用到的注解:@param、@return、@author、@since 等。
注解的定义及使用
@元注解  //注解也需要被注解
public @interface MyAnnotation {
    ...
}

格式非常奇怪。通过反编译(javap 命令)我们可以发现其本质:
注解本质上是一个接口,它默认继承Annotation接口

public interface MyAnnotation extends java.lang.annotation.Annotation {
    ...
}

既然本质是接口,于是就可以在其内部声明成员方法。但是特殊的是,这个成员方法的作用类似于成员变量,以后会被赋值!

  • 所以成员方法不能用 void 作为返回值
  • 成员方法返回值类型有要求:基本数据类型、String、枚举类、注解类及其他们的数组。也就是说几乎不能使用自定义的类。
    举个带参的例子,在下面可以传参
  1. 如果定义属性时,使用default关键字给属性默认初始化值,则使用注解时,可以不进行属性的赋值。
  2. 如果只有一个属性需要赋值,并且属性的名称是value,则value可以省略,直接定义值即可。
  3. 数组赋值时,值使用{}包裹。如果数组中只有一个值,则{}可以省略

注解的使用
常用来修饰类、方法

@MyAnnotation
public class Test {
}

元注解
用于描述注解的注解

  • @Target:注解的作用范围
  • @Retention:注解的有效时期
  • @Documented:描述注解是否被抽取到api文档中
  • @Inherited:注解是否被子类继承
注解的作用
  • 编写API文档
    1. 把 java 文件中的包名去掉。利用notepad修改编码。
    2. Shift+右键 可以 在此处创建命令行
    3. 利用 javadoc 命令 可以生成API文档。
  • 编译检查
    • @Override、@FunctionalInterface
    • @Deprecated 标记一个方法已过时。为什么不直接删掉这个方法?为了向下兼容。
    • @SuppressWarnings:去除警告。一般传递参数all,@SuppressWarnings("all")
  • 配置参数

通过类对象可以获取注解对象。

相关文章

  • 菜鸟学服务端技术----Spirng基础

    注解 Java基础加强总结(一)——注解(Annotation) java中的注解是如何工作的? java 注解 ...

  • 自定义注解

    java annotation基础 java注解分为标准注解和元注解。 标准注解是java为我们提供的预定义的注解...

  • Java注解的使用

    Java注解的使用 参考 廖雪峰java教程 使用注解 什么是注解(Annotation)?注解是放在Java源码...

  • Java原生注解和Spring注解的说明

    注解 java 原生注解 Spring 中的注解 一 Java原生注解 Java注解是在JDK1.5以后引入的新特...

  • Java 注解

    JAVA注解 Java 自带注解(系统注解) @Override 表示重写注解 @Deprecated 表示过时的...

  • 1.8 Java 注解annotation

    1.1 注解声明 Java注解Annotation,有声明注解和元注解 元注解:Java提供的元注解,所谓元注解就...

  • Java注解学习总结(脑图)

    注解的提取测试:定义注解: 测试注解提取: 参考:《Java编程思想》java注解

  • Java注解

    Java注解(Annotation)详解(一)——概述及JDK自带注解 Java注解(Annotation)详解(...

  • JAVA-注解 Annotation

    JAVA-注解 Annotation sschrodinger 2018/6/4 基本 注解 Java 注解用于为...

  • Java注解简介篇

    摘要 本文详细介绍java注解是什么,如何声明java注解,如何解析java注解。最后介绍JDK提供的几大基本注解...

网友评论

      本文标题:Java - 注解

      本文链接:https://www.haomeiwen.com/subject/rhzzeftx.html