Java教程

笛子的Java系列总结——注解

本文主要是介绍笛子的Java系列总结——注解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

注解(Annotation)

概述与理解

  1. 从 JDK 5.0 开始, Java 增加了对元数据(MetaData) 的支持, 也就是
    Annotation(注解)
  2. Annotation 其实就是代码里的 特殊标记, 这些标记可以在编译, 类加
    载, 运行时被读取, 并执行相应的处理。
  3. Annotation 可以像修饰符一样被使用, 可用于 修饰包, 类, 构造器, 方
    法, 成员变量, 参数, 局部变量的声明, 这些信息被保存在 Annotation
    的 “name=value” 对中。
  4. 在JavaSE中,注解的使用目的比较简单,例如标记过时的功能,
    忽略警告等。在JavaEE/Android中注解占据了更重要的角色,例如
    用来配置应用程序的任何切面,代替JavaEE旧版中所遗留的繁冗
    代码和XML配置等
  5. 未来的开发模式都是基于注解的,一定程度上可以说:框架 = 注解 + 反射 + 设计模式。

常见的Annotation示例

  1. 生成文档相关的注解
    在这里插入图片描述
  2. 在编译时进行格式检查(JDK内置的三个基本注解)
    (1)@Override: 限定重写父类方法, 该注解只能用于方法
    (2)@Deprecated: 用于表示所修饰的元素(类, 方法等)已过时。通常是因为
    所修饰的结构危险或存在更好的选择
    (3)@SuppressWarnings: 抑制编译器警告
  3. 跟踪代码依赖性,实现替代配置文件功能(组件或框架中的功能)
    例如Servlet3.0提供了注解(annotation),使得不再需要在web.xml文件中进行Servlet的部署已经spring框架中关于“事务”的管理。

如何自定义注解(用的并不多,了解即可)

参照SupperessWarnings定义即可

  1. 注解声明为:@interface(和接口没有关系,只是看起来像)
  2. 内部定义成员,通常使用value表示
  3. 可以指定成员的默认值,使用default定义
  4. 如果自定义注解没有成员,表明是一个标识作用
  5. 如果注解有成员,在使用注解时,需要指明成员的值。(有默认值的可省略)
  6. 自定义注解必须配上注解的信息处理流程(使用反射)才有意义。

JDK中的元注解

什么叫元注解?

对现有注解进行解释说明的注解,以override为例,下面的@Target 和 @Retention即为元注解

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE)
public @interface Override {
}

4种元注解的介绍

  1. @Retention 注解的生命周期
    在这里插入图片描述

  2. @Target
    在这里插入图片描述

  3. @Documented@Inherited
    在这里插入图片描述

通过反射获取注解信息(暂不介绍)

JDK8中注解的新特性(简单了解)

可重复的注解

在这里插入图片描述

可用于类型的注解

@Target的参数类型ElementType多了两个:
TYPE_PARAMETER:(主要用于泛型声明)表示该注解能写在类型变量的声明语句中
TYPE_USE:表示该注解能写在使用类型的任何语句中。

这篇关于笛子的Java系列总结——注解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!