zoukankan      html  css  js  c++  java
  • 组合注解(Annotation)

    import java.lang.annotation.Documented;
    import java.lang.annotation.ElementType;
    import java.lang.annotation.Retention;
    import java.lang.annotation.RetentionPolicy;
    import java.lang.annotation.Target;
    
    /**
     * @author: lihui
     * @date: 2020-05-20
     */
    public class CompositeAnnotationStudy {
        public static void main(String[] args) {
            AnnotationTwo annotationTwo = ClassInAnnotation.class.getAnnotation(AnnotationTwo.class);
            System.out.println(annotationTwo.basePackages());
            AnnotationOne annotationOne = annotationTwo.annotationType().getAnnotation(AnnotationOne.class);
            System.out.println(annotationOne.value());
    
            System.out.println(annotationTwo.getClass().getAnnotation(AnnotationOne.class));
        }
    }
    
    @AnnotationTwo()
    class ClassInAnnotation {
    }
    
    @Target(ElementType.TYPE)
    @Retention(RetentionPolicy.RUNTIME)
    @Documented
    @AnnotationOne 
    @interface AnnotationTwo {
        String basePackages() default "basePackages";
    }
    
    @Target(ElementType.TYPE)
    @Retention(RetentionPolicy.RUNTIME)
    @Documented 
    @interface AnnotationOne {
        String value() default "value";
    }
    

    输出如下:

    basePackages
    value
    null
    
    可以看到:一个注解就可以得到许多种注解的信息。 
    
    注意:
    获得一个注解的注解不是通过这种方式:
    annotation.getClass().getAnnotation(AnnotationOne.class);
    而是通过以下方式:
    annotation.annotationType().getAnnotation(AnnotationOne.class);
    
  • 相关阅读:
    多进程编程
    Python 的下载安装
    cnBlogs windows LIves Writes 安装
    第四章网页文字编排设计
    第三章网页图形图像设计
    第二章网页创意设计思维和方法
    1.3-1.4网页设计的定位和流程
    1.2网页设计的构成要素和特性
    网页编辑常用快捷方式+学习技巧+网站开发流程
    css选择器2——伪类选择器
  • 原文地址:https://www.cnblogs.com/eaglelihh/p/12925568.html
Copyright © 2011-2022 走看看