定义注解格式
定义一个新的注解类型与定义一个接口非常类似,在原有的interface关键字前增加@符号,即使用@interface定义一个新的注解类型
[访问符] @interface 注解名{
...
}
下面案例自定义一个名为MyAnnol的注解,该注解中包含comment()和order()两个成员
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnol {
String comment();
int order();
}
上述代码第一行使用@Retention注解来指定自定义的注解@MyAnnol可以保留多长时间,此处使用RetentionPolicy.RUNTIME保留策略值,该值是最长注解持续期,表明在程序运行时JVM通过反射获取注解信息。(注解保留策略值下一章会讲,这里就提一下)
使用注解格式
自定义注解是通过@interface声明,注解的成员由未实现的方法组成,如comment()和order()方法只有声明没有方法体,注解中的成员将在使用时进行实现
@MyAnnol(comment="功能描述",order = 1)
//程序单元(类、接口、方法等)
定义包含默认值的注解
在使用@MyAnnol注解过程中,通过为comment和order指定具体值,为所修饰的程序单元添加相关的功能信息描述和序号。
在定义注解时,可以使用default语句为注解成员指定默认值,其语法格式如下
类型成员() default 值;
【示例】包含默认值的注解
public @interface Mynnol{
String comment();
int order() defacut 1;
}
上述代码在定义@MyAnnol注解时,为order元素指定了默认值为1,这意味着使用@MyAnnol时,如果不为order指定新值,其值即为默认值1。