一、注解
1.什么是注解
注解是对程序进行标注和解释
2.常用注解
- @Override 描述子类重写父类的方法
- @Deprecated 描述此方法已过时
- @SuppressWarnings 压制警告
3.图解
4.注解与注释的区别
- 注解:给编译器看的,让虚拟机知道程序的特殊功能
- 注释:给程序员看的
二、自定义注解
1.格式
public @interface 注解名称{
public 属性类型 属性名 () default 默认值;
}
其中public,default 默认值都可以省去。
(注:若注解里没有指定默认值,在使用注解时,就要手动给出注解属性的设置值)
2.代码示例
public @interface annotationDemo_01 {
//定义一个基本类型的属性
int a () default 23;
//定义一个String类型的属性
public String name();
//定义一个Class类型的属性
public Class clazz() default annotationDemo_02.class;
//定义一个注解类型的属性
public annotationDemo_02 anno() default @annotationDemo_02;
//定义一个枚举类型的属性
public Season season() default Season.SPRING;
//一维数组:
//int数组
public int [] arr() default {1,2,3,4,5,6};
//枚举数组
public Season[] seasons() default {Season.SPRING,Season.SUMMER};
}
//在使用注解时,注解里若没有指定默认值,就要手动给出注解属性的设置值
@annotationDemo_01(name="张三")
public class annotationDemo_03 {
}
3.特殊属性value
如果只需要给注解的value属性赋值,可以不写value=“”,直接赋值
//如果只需要给注解的value属性赋值,可以不写value,直接赋值,不用写value="001"
@annotationDemo_01("001")
public class annotationDemo_03 {
}
三、元注解
1.元注解
元注解就是注解的注解
2.常用的元注解