annotation详解

1.概念

官方的定义:

注解Annotation是java 1.5的新特性,是一种能够添加到 Java 源代码的语法元数据。类、方法、变量、参数、包都可以被注解,可用来将信息元数据与程序元素进行关联。Annotation 中文常译为“注解”

2.作用

a. 标记,用于告诉编译器一些信息

b. 编译时动态处理,如动态生成代码

c. 运行时动态处理,如得到注解信息

Java注解可以用在构建期。当构建我们的工程时,构建进程会编译源码、生成xml文件,打包编译后的代码和文件到jar包。构建过程一般由构建工具自动完成,常用的构建工具有ant、maven。构建工具在构建时会自动扫描我们的代码,当遇到构建期注解时,会根据注解的内容生成源码或者其它文件
3.注解的格式

a)一个java注解由一个@符后面跟一个字符串构成,类似于这样:

    @Entity

b)java注解中一般包含一些元素,这些元素类似于属性或者参数,可以用来设置值,比如我们有一个包含两个元素的@Entity注解:

    @Entity(userName = “zphuan”, userAge = “100”)

该注解中有两个元素:userName,userAge,分别赋予了对应的元素值。

.注解的位置

注解可以用于描述一个类、接口、方法、方法参数、字段、局部变量等。
比如:

a)方法上:

    @Override
    void mySuperMethod() { ... }

    @SuppressWarnings(value = "unchecked")
    void myMethod() { ... }

    1
    2
    3
    4
    5

b)类上:

    @Author(
       name = "zphuan",
       date = "3/24/2017"
    )
    class MyClass() { ... }
5.Java内置注解

Java本身提供了三个内置注解,他们分别是:

    @Deprecated
    @Override
    @SuppressWarnings

@Deprecated可以用来描述一个类、方法或者字段,表示java不赞成使用这些被描述的对象,如果我们使用了这些类、方法或者字段,编译器会给我们警告。

@Override注解是一个编译时注解,它主要用在一个子类的方法中,当被注解的子类的方法在父类中找不到与之匹配的方法时,编译器会报错。

@SuppressWarnings注解的作用是使编译器忽略掉编译器警告。比如,如果我们的一个方法调用了一个@Deprecated方法,或者做了一个不安全的类型转换,此时编译器会生成一个警告。如果我们不想看到这些警告,我们就可以使用@SuppressWarnings注解忽略掉这些警告
---------------------
原文来源:https://blog.csdn.net/u013703461/article/details/66259013

原文地址:https://www.cnblogs.com/zxzx1/p/10550878.html