自定义注解
- 使用@interface自定义注解时,自动继承了Java.lang.annotation.Annotation接口
- 分析:
- @interface用来声明一个注解,格式:public@ interface 注解名{自定义内容}
- 其中的每一个方法实际上是声明了一个配置参数
- 方法的名称就是参数的名称
- 返回值类型就是参数的类型(返回值只能是基本类型 class string enum)
- 可以通过default来声明参数的默认值
- 如果只有一个参数成员,一般参数名为value
- 注解元素必须要有值,我们定义注解元素时,经常使用空字符串,0作为默认值
package Annotation;
import java.lang.annotation.*;
public class Test02 {
@Myannotation()
public void aaa(){}
@Myannotation2("李四")
public void bbb(){}
}
@Target({ElementType.TYPE ,ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@interface Myannotation{
String name() default "";
int age() default 1;
int id() default 2;
String[] arr1() default {"陕西","山西"};
}
@Target({ElementType.TYPE ,ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@interface Myannotation2{
String value();
}