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

  • 相关阅读:
    回顾2012
    静态变量与非静态变量的区别
    本地计算机的XXX服务启动后又停止了
    计算包含特殊字符的字符串的字符个数
    Convert与Parse的区别
    SPSS课程学习思路及流程
    市场分析与数据挖掘分别的分析流程
    用R做逻辑回归之汽车贷款违约模型
    用R去做文本处理
    SyntaxError: Missing parentheses in call to 'print
  • 原文地址:https://www.cnblogs.com/liuhuan425/p/10871891.html
Copyright © 2011-2022 走看看