1.注解是什么
注解是具有一定功能和一定格式的语法,底层由反射机制实现,若要实现自定义注解,通过关键字@interface定义。
2.注解的优缺点
优点:开发效率高 成本低
缺点:耦合性大 并且不利于后期维护
注:注解是给JVM机看的,用于编译;而注释是给程序员看的,用于后期维护能够知道该代码的作者,功能等信息。
3.自定义注解在解析时要使用到元注解,元注解就是注解的注解,用于限制定义的注解的特性,元注解主要属性如下:
@Retention //定义注解可见级别
SOURCE: 注解在源码级别可见
CLASS:注解在字节码文件级别可见
RUNTIME:注解在整个运行阶段都可见(若在运行的方法中要使用到自定义的注解,就必须使注解的可见级别为RUNTIME,这样注解才能到达运行时被解析,否则会报注解空指针错误)
@Target //定义注解修饰的范围:类上使用,方法上使用,字段上使用
FIELD:字段上可用此注解
METHOD:方法上可以用此注解
TYPE:类/接口上可以使用此注解
自定义一个注解@MyAnnoation
@Target ({ElementType.METHOD,ElementType.TYPE,ElementType.FIELD})
@Retention(RententionPolicy.RUNTIME)
public @interface MyAnnoation{
String name();//@MyAnnoation注解的属性。
int age() default 18;
}
4.注解属性类型只能是以下几种:
答:基本类型,String,枚举类型,注解类型,Class类型(字节码类型),以上类型的一维数组类型