自定义注解
小于 1 分钟Java注解和反射
使用@interface自定义注解时,自动继承了java.lang.annotation.Annotation接口
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* @Description TODO
* @Author Administrator
* @Date 2020/11/28 16:47
*/
public class Test03 {
@MyAnnotation2(name = "hejin",schools = "西南大学")
public void test(){
}
@MyAnnotation3("hejin")
public void test2(){
}
}
/**
* @author Administrator
*/
@Target({ElementType.TYPE,ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@interface MyAnnotation2{
/**
* 注解的参数
* 没有默认值。使用注解时必须显示赋值
*/
String name() default "";
int age() default 0;
/**
*默认值为-1.代表不存在。
*/
int id() default -1;
String[] schools() default {"清华大学","西南大学"};
}
/**
* @author Administrator
*/
@Target({ElementType.METHOD,ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@interface MyAnnotation3{
/**
* 使用value在使用注解时可不写。使用其他名称必须写。
* @return
*/
String value();
}