什么是注解
注解就是像(@override @suppresswarning)
注解就是写给jvm看的注释
注解含有“@”这个符合
注解的作用
配置文件(web3.0里没有xml配置文件,却发现每个新创的servlet对象,都有注解@webServlet(“/xx”))
如何创建注解
public @interface ann{
String value(); //String类型的属性,名字叫做value
//String name() default “abc”;
}
注意在注解里有且仅有一个属性时,命名为value,写注解时就可以@ann(“abc”),而如果命名不是的话,写法(@ann(name=“abc”))
java常见注解
- @Deprecated 提示过时的方法、
- @SuppressWarnings 类型压制(避免出现类型警告)
- @override 重写
注解的属性类型
1. 4大基本类型 2. 枚举类型 3. String 4. 注解类型 5. 以上的一维数组
元注解
顾名思义,就是注解的解释,即在创建注解类时在其头部写@Target(ElementType.ANNOTATION_TYPE)
常见元注解
- @Target()注解的修饰范围
1.CONSTRUCTOR:用于描述构造器
2.FIELD:用于描述域
3.LOCAL_VARIABLE:用于描述局部变量
4.METHOD:用于描述方法
5.PACKAGE:用于描述包
6.PARAMETER:用于描述参数
7.TYPE:用于描述类、接口(包括注解类型) 或enum声明 - @Retention() 注解的可见范围 RetentionPolicy.RUNTIME, RetentionPolicy.class, RetentionPolicy.source
注解如何被调用
首先获取运行了注解的类的类对像,其次调用getMethod(注解下的方法名,参数类型.class),最后获取注解对象method.getAnnotation(注解类.class),注意创建的注解默认的运行范围不是runtime,需要用元注解@Retention(RetentionPolicy.Runtimr)