作用
- 可以对程序作出解释,但又不是程序的部分,这一点跟注释差不多
- 可以被程序读取,注解信息处理流程是注解和注释的区别
一些常见的注解
- @Override 定义在java.lang.Override里,该注解只修饰方法,表示这个方法是重写了超类的方法
- @Deprecated 定义在java.lang.Deprecated里,可修饰方法,属性,类,表示不建议使用这个元素,使用时会出现划线
- @SuppressWarnings() 定义在java.lang.SuppressWarnings里,用来抑制编译时的警告信息,不过要往里加一个参数才能使用,比如”all”等
自定义的注解
-
元注解是为注解做的注解,如@Target,@Retention,@Documented,@Inherited,位于java,lang,annotation
-
@Target,用于描述注解的使用范围
@Target(value = Element.TYPE) -
@Retention,表示需要什么级别保存该注释,描述注解的生命周期
@Retention(RetentionPolicy.RUNTIME) // 在运行时有效,可以被反射机制读取 @Retention(RetentionPolicy.SOURCE) //在class文件中有效 @Retention(RetentionPolicy.RUNTIME) // 在源文件中有效
-
-
使用@interface自定义注解,自动继承了java.lang.annotation接口,其中每一个方法就是声明了一个配置参数,如果只有一个参数一般命名为”value“
public @interface Testannotation{ String name() default ""; //这里表示参数默认值为”“,如果使用该注解不传参数也没默认值就会报错 }