java自定义注解

2020-02-29  本文已影响0人  我问你瓜保熟吗
20171108.jpg

注解是可以被编译器读取的注释,可以通过反射实现对注解数据的访问

元注解


元注解的作用就是负责注解其他注解,共四个
@Target,@Retention,@Documented,@Inherited

用来描述注解的使用范围,(package,class,method,field)

表示需要在什么级别保存该注释信息,用语描述注解的生命周期(SOURCE<CLASS<RUNTIME

说明该注解将被包含在javadoc中

说明子类可以继承父类中的该注解

自定义注解


1、使用@interface生命一个注解,格式:public @interface 注解名{注解内容}
2、每一个方法就是一个注解参数,方法名就是参数名,返回值类型就是参数类型,且只能是String、Class、enum;
3、注解元素必须要有值,可以用default来声明默认参数,一般用空字符串或0作为默认值
4、如果只有一个参数,参数名一般为value
5、使用@interface自定义注解时,自动继承了java.lang.annotation.Annotation接口

// 使用自定义注解
public class MyAnnotation {

   // 注解可以显示复制,如果没有默认值,则必须要手动复制
    @MyAnnotation1
    public void test(){};

}

// 定义注解
@Target({ElementType.TYPE,ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@interface MyAnnotation1{
    // 注解的参数:参数类型 + 参数名();
    String name() default "";
    int age() default 0;
    String[] schools() default {"清华大学","北京大学"};
}
上一篇 下一篇

猜你喜欢

热点阅读