zoukankan      html  css  js  c++  java
  • 注解

    一、注解概述:

    • 从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表示该注解能写在使用类型的任何语句中,

  • 相关阅读:
    ZooKeeper 相关知识
    zookeeper 启动和停止脚本
    es 6.4.3 版本的es的处理方式
    SpringBoot启动使用elasticsearch启动异常:Received message from unsupported version:[2.0.0] minimal compatible
    windows下安装elasticsearch-6.4.3和elasticsearch-head插件
    二项式公式
    计算公式
    大规模数据如何检索?
    设计数据服务:为报表服务提供服务接口
    win10 桌面快捷键技术
  • 原文地址:https://www.cnblogs.com/liuhuan425/p/10871891.html
Copyright © 2011-2022 走看看