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