java注解和反射(注解)
自我理解,注解的参数:
数组类型传一个参数和多个参数时:
代码如下:
//测试自定义注解
public class Test03 {
//注解可以显示赋值,如果没有默认值就必须给注解赋值。
//参数是无序的
@MyAnnotition2(age=18, name="花田")
public void dd(){}
@MyAnnotition3("花田")
public void dd2(){}
}
@Target({ElementType.TYPE,ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@interface MyAnnotition2{
//注解的参数:参数类型+参数名(); default标识默认值。
String name() default "";
int age() default 0;
int id() default -1;//如果默认值为-1,代表不存在,类似indexof,如果找不到就返回-1.
String[] schools() default {"清华大学","济宁学院"};
}
@Target({ElementType.TYPE,ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@interface MyAnnotition3{
//如果注解只有一个参数,那么建议名称为value,因为可以省略,名称不是value时不能省略。
String value();
}