注解就是对类,方法,变量等起到说明作用
package com.dingyu;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* 自定义的注解
*
* @author dingyu
*
*/
/*
* @Target 是一种元注解,对注解进行注解,就是对自定义的注解说明一下 ,Target注解中给的值表示我自定义的注解可以用在什么范围
* @Retention 元注解的另一种,用于描述注解的生命周期,Runtime表示在程序运行时,这个周期还是在的,这样就可以利用反射来获得
* 上面两个元注解的参数都是一个枚举类型,具体哪些可以去看jdk api或者源代码
*/
@Target(value = { ElementType.METHOD, ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {
// 前面是参数的类型,后面是参数的名字,比如下面就是一个叫id,类型为String数组的参数
String[] id() default {"04","201617010104"};//给一个默认值
String name() default "dingyu";
}
package com.dingyu;
/**
* 使用自定义注解
* @author dingyu
*
*/
@MyAnnotation(id = { "这是自定义", "的注解" }, name = "dingyu")
public class MyAnnotationDemo {
}