zoukankan      html  css  js  c++  java
  • java编程思想-java注解

    注解(也被称为元数据)为我们在代码中添加信息提供了一种形式化的方法,使我们可以在稍后某个时刻非常方便的使用这些数据。

    一、定义注解

    注解的定义看起来很像接口的定义。事实上,与其他任何Java接口一样,注解也将会编译成class文件。

    import java.lang.annotation.*;
    
    @Target(ElementType.METHOD)
    @Retention(RetentionPolicy.RUNTIME)
    public @interface Test() ///;~
    

    除了@符号外,@Test的定义很像一个空的接口。定义注解时,会需要一些元注解(meta-annotation),如@Target和@Retention。@Target用来定义你的注解将应用于什么地方(例如是一个方法或者一个域)。@Retention用来定义该注解在哪一个级别可用,在源代码中(SOURCE)、类文件中(CLASS)或者运行时(RUNTIME)。

    在注解中,一般都会包含一些元素以表示某些值。当分析处理注解时,程序或工具可用利用这些值。注解的元素看起来就像接口的方法,唯一的区别是你可以为其指定默认值。

    没有元素的注解称为标记注解(mark annotation)。

    二、元注解

    Java目前内置了三种标准注解以及四种元注解。元注解zhuan'zhi专职负责注解其他的注解。

    注解 含义
    @Target 表示该注解可以用于什么地方,可能的ElementType参数包括:CONSTRUCTOR(构造器声明),FIELD(域声明),LOCAL_VARIABLE(局部变量声明),METHOD(方法声明),PACKAGE(包声明),PARAMETER(参数声明),TYPE(类、接口或enum声明)
    @Retention 表示需要在什么级别保存该注解信息,可选的RetentionType包括:SOURCE,CLASS,RUNTIME
    @Documented 将此注解包含在Javadoc中
    @Inherited 允许子类继承父类中的注解

    大多数时候,我们主要是定义自己的注解,并编写自己的处理器来处理他们。

    三、总结

    注解是java引入的一项非常受欢迎的补充。它提供了一种结构化的,并且具有类型检查能力的新途径,从而使得程序员能够wei为代码加入元数据,而不会导致代码杂乱且难以阅读。使用注解能够帮助我们避免编写累赘的部署描述文件,以及其他生产的文件。而Javadoc中的@deprecated被@Deprecated注解取代的事实也说明,与注释性文字相比,注解绝对更适合用于描述类相关的信息。

  • 相关阅读:
    token是什么?和session什么区别,怎么用
    HashTable详解
    Cookie和Session的区别
    测试基础面试题
    什么是回归测试?回归测试的主要目的是什么?
    每天一个linux常用命令--ls 和 -ll 有什么区别?
    python中6个序列的内置类型分别是什么,列表和元组的异同有哪些
    今天去面试自动化测试,被几个问题问住了,记录下
    python排序算法-冒泡和快速排序,解答阿里面试题
    Myeclipse使用积累
  • 原文地址:https://www.cnblogs.com/f-zhao/p/6096512.html
Copyright © 2011-2022 走看看