• 注解


    一、注解概述:

    • 从JDK5.0开始,JAVA增加了对元数据(MetaData)的支持,也就是Annotation(注解)。
    • Annotation其实就是代码里的特殊标记,这些标记可以在编译,类加载,运行时被读取,并执行相应的处理。
    • Annotation可以像修饰符一样被使用,可用于修饰包、类、构造器、方法、成员变量、参数、局部变量的声明,这些信息被保存在Annotation的“name = value”对中。
    • 未来是注解的天下,未来的开发模式都是基于注解的,一定程度上说:框架 = 注解+反射+设计模式。

    二、注解的使用:

     1.生成文档相关的注解

    2.在编译时进行格式检查(JDK内置的三个基本注解)

      @override:限定重写父类方法,该注解只能用于方法

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

      @SuppressWarnings:抑制编译器警告。

    3.跟踪代码依赖性,实现替代配置文件功能。比如servlet中的web.xml配置文件中的url可以用一个注解@WebServlet简单实现:

    三、自定义注解:

    参照@SuppressWarnings定义:

    • 注解声明为:@interface
    • 内部定义成员,通常使用value表示
    • 可以指定成员的默认值,使用default定义
    • 如果自定义注解没有成员,表明是一个标识作用。

    如果注解有成员,在使用注解时,需要指明成员的值。

    自定义注解必须配上注解的信息处理流程(使用反射)才有意义。

    四、JDK提供的四种元注解:

    元注解的意思就是对现有的注解进行解释说明的注解

    1.Retention:指定所修饰的Annotation的生命周期:SOURCE(javac编译后死亡)CLASS(默认行为,编译后仍存在,运行前死亡)RUNTIME(加载到内存,只有声明为RUNTIME生命周期的注解,才能通过反射获取)。

     2.Target:用于指定被修饰的Annotation能用于修饰哪些程序元素

    一般来说,自定义注解都会指明这两个元注解

    3.Documented:表示所修饰的注解在被javadoc解析时,保留下来。

    4.Inherited:被它修饰的Annotation将具有继承性。

    五、JDK8中注解的新特性:

    1.可重复注解:①在需要重复的注解上声明@Repeatable,成员值为需要重复的注解+s.class

             ②需要重复的注解的Target和Retention等元注解和重复的注解+s相同(也就是定义重复注解的注解需要和被定义的注解这两个元注解相同)。

    2.类型注解:

    ElementType.TYPE_PARAMETER表示该注解能写在类型变量的声明语句中(如泛型声明)

    ElementType.TYPE_USE表示该注解能写在使用类型的任何语句中,

  • 相关阅读:
    Python3 tkinter基础 Canvas create_text 在画布上添加文字
    js中如何返回一个存放对象的数组?
    vs2015 出现Lc.exe 已退出,代码为-1的问题,如何解决
    微信PC客户端无法发送图片,怎么解决?
    vs2015 编译时项目出现NuGet程序包还原失败,找不到xxx.xxx.xxx版本的程序包,怎么解决这个问题?
    sql server 根据身份证号计算出生日期和年龄的存储过程
    sql server中截取字符串的常用函数
    sql server 中进行除法运算时,如何得到结果是小数形式呢?
    sql中,如何获取一个数的整数部分和余数部分
    sql 中,如何获取两个日期之前月数、周数、天数
  • 原文地址:https://www.cnblogs.com/liuhuan425/p/10871891.html
Copyright © 2020-2023  润新知