这篇博客不适合想要彻底弄懂Java注解的同学,它更适合对Java注解有一定了解,但是对其没有清楚梳理过的同学。
下面用7句话总结一下Java注解:
- Java注解的本质就是一个类,它和class、interface一样,都是类;
- 定义方式:在interface前面加一个@就是注解
// 这是一个名为TestAnnotation的注解
public @interface TestAnnotation{
... ...
}
- 使用场景:写在“类、变量、方法的声明处”的上方;
@TestAnnotation
class student{
... ...
}
@TestAnnotation
public void Func(){
//ToDo
}
@TestAnnotation
int number;
- ☆☆☆作用:被注解的东西(类、变量、方法)就像是被贴上了“说明标签”,编译器和APT(Annotation Processing Tool,即“提取注解信息并处理”的代码)就可以根据这些“说明标签”做出相应的判断/操作;
- 注解的属性:成员变量(注解没有成员方法),其定义方式:以“无参函数”的形式定义
// 这是一个名为TestAnnotation的注解
public @interface TestAnnotation{
int id(); //id是注解的成员变量,()在这里不代表方法,这是声明注解成员变量的固定格式
String msg(); //同上
}
- 注解如何被编译器或APT使用:利用反射;
- 注解分类:内置注解、自定义注解、元注解(注解注解的注解)。
最后给大家推荐一篇我目前看过关于“Java注解”解释的最通俗易懂的博客:秒懂,Java 注解 (Annotation)你可以这样学