注解
- 什么叫做注解?注解->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 {};
}
/* 引用该注解*/
 (age = 18,studentName = "二狗",id = 1008,
 schools = {"北京大学","清华大学"})
 public void test(){
        
 }