Java注解(一)

作者: Sandy_678f | 来源:发表于2018-04-26 17:50 被阅读0次

    Java注解
    注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。

    目录结构


    image.png

    自定义注解:
    Demo:

    package annotationdemo;
    
    import java.lang.annotation.*;
    
    /**
     * @author Sandy
     * @version AnnotationTest.java, v 0.1 2018-04-26 下午3:32
     */
    
    @Inherited
    @Documented
    @Target(ElementType.TYPE)
    @Retention(RetentionPolicy.RUNTIME)
    public @interface DocumentA{
    
    }
    
    package annotationdemo;
    
    import java.lang.annotation.ElementType;
    import java.lang.annotation.Retention;
    import java.lang.annotation.RetentionPolicy;
    import java.lang.annotation.Target;
    
    @Target(ElementType.TYPE)
    @Retention(RetentionPolicy.RUNTIME)
    public @interface DocumentB{
    
    }
    
    package annotationdemo;
    
    /**
     * @author Sandy
     * @version A.java, v 0.1 2018-04-26 下午5:30
     */
    
    @DocumentA
    public class A {
    }
    
    package annotationdemo;
    
    /**
     * @author Sandy
     * @version B.java, v 0.1 2018-04-26 下午5:31
     */
    
    public class B extends A{
    }
    
    package annotationdemo;
    
    /**
     * @author Sandy
     * @version C.java, v 0.1 2018-04-26 下午5:31
     */
    
    @DocumentB
    public class C {
    }
    
    package annotationdemo;
    
    /**
     * @author Sandy
     * @version D.java, v 0.1 2018-04-26 下午5:32
     */
    
    
    public class D extends C {
    }
    
    package annotationdemo;
    
    import java.util.Arrays;
    
    public class AnnotationTest {
    
        public static void main(String[] args) {
            A instanceA = new B();
            System.out.println("已使用的@Inherited注解: "+ Arrays.toString(instanceA.getClass().getAnnotations()));
    
            C instanceC = new D();
            System.out.println("没有使用的@Inherited注解: "+ Arrays.toString(instanceC.getClass().getAnnotations()));
        }
    
    }
    

    输出:


    image.png

    相关文章

      网友评论

        本文标题:Java注解(一)

        本文链接:https://www.haomeiwen.com/subject/ocymlftx.html