注解
- 什么叫做注解?注解->Annotation,JDK5.0引入技术
- Annotation 的作用:
- 并不是程序本身,可以对程序作出解释。
- 可被其他程序读取(可做信息处理)
内置注解
- @Override : 定义在java.lang.Override中,此注释只适用于修辞方法,表示一个方法声明打算重写父类中另一个方法声明。
- @Deprecated:定义在java.lang.Deprecated中,此注释用于修辞方法、熟悉、类。表示不鼓励程序员使用这样的元素。
- @SuppressWarnings:用来抑制编译时的警告信息。其中包含的参数:
- deprecation 使用了过时的类或方法的警告
- unchecked 执行了未检查的转化时的警告,如使用集合时,未指定泛型
元注解(对注解进行进一步解释)
@Target:用于描述注解的使用范围(如包、类、方法等)
- CONSTRUCTOR:用于描述构造器
- FIELD:用于描述域
- LOCAL_VARIABLE:用于描述局部变量
- METHOD:用于描述方法
- PACKAGE:用于描述包
- PARAMETER:用于描述参数
- TYPE:用于描述类、接口(包括注解类型) 或enum声明
@Retention:表示需要在什么级别保存该注释信息,用于描述注解的生命周期
- SOURCE:在源文件中有效(即源文件保留)
- CLASS:在class文件中有效(即class保留)
- RUNTIME:在运行时有效(即运行时保留)
自定义注解
新建一个Annotation 方法,方法头加元注解,具体如下:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16//该注解只可放在方法前面 (value = ElementType.METHOD)
//可以通过反射读取到 (RetentionPolicy.RUNTIME)
public Annotation {
//定义参数默认值
String studentName() default "";
int age() default 0;
int id() default -1;
String[] schools() default {};
}
/* 引用该注解*/
18,studentName = "二狗",id = 1008, (age =
schools = {"北京大学","清华大学"})
public void test(){
}