官方的定义:java
注解Annotation是java 1.5的新特性,是一种可以添加到 Java 源代码的语法元数据。类、方法、变量、参数、包均可以被注解,可用来将信息元数据与程序元素进行关联。Annotation 中文常译为“注解”安全
a. 标记,用于告诉编译器一些信息
b. 编译时动态处理,如动态生成代码
c. 运行时动态处理,如获得注解信息
Java注解能够用在构建期。当构建咱们的工程时,构建进程会编译源码、生成xml文件,打包编译后的代码和文件到jar包。构建过程通常由构建工具自动完成,经常使用的构建工具备ant、maven。构建工具在构建时会自动扫描咱们的代码,当遇到构建期注解时,会根据注解的内容生成源码或者其它文件
3.注解的格式
a)一个java注解由一个@符后面跟一个字符串构成,相似于这样:
@Entity
b)java注解中通常包含一些元素,这些元素相似于属性或者参数,能够用来设置值,好比咱们有一个包含两个元素的@Entity注解:
@Entity(userName = “zphuan”, userAge = “100”)
该注解中有两个元素:userName,userAge,分别赋予了对应的元素值。maven
.注解的位置
注解能够用于描述一个类、接口、方法、方法参数、字段、局部变量等。
好比:
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/66259013ide