自定义注解:用 @interface 声明一个注解
格式:public @interface 注解名 { 定义内容 }
示例1:
//这是个简单的注解
public @interface myAnnotion{
}
示例2:
//这个注解可以用在方法上
@Target(ElementType.METHOD)
public @interface myAnnotion{
}
public class Test{
//用上面自定的注解
@myAnnotion
void function(){
}
}
示例3:
@Target(value={METHOD,FIELD}) //这个注解可以用在方法和字段上
public @interface myAnnotion{
//该注解的参数:参数类型 + 参数名();
String name(); //String类型的参数
int num() default 0; //int类型的参数,可以不传此参数,默认0
}
public class Test{
//用上面自定的注解,传一个参数
@myAnnotion(name = "a")
int num a;
//用上面自定的注解,传两个参数
@myAnnotion(name = "function" , num = 2)
void function(){
}
}
分析:
1. @interface 用来声明一个注解,格式:public @interface 注解名 { 注解内容 }
2. 其中的每一个方法实际上是声明了一个配置参数。
3. 方法名就是参数名称。
4. 返回值类型就是参数的类型。
5. 可以通过 default 来声明参数的默认值。
6. 如果只有一个参数成员,一般参数名为value。