package com.company;
import java.lang.annotation.*;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
// write your code here
DocumentDemo.main();
}
}
@Inherited
@Documented
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@interface DocumentA {//四个元注解修饰这个自定义注解
}
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@interface DocumentB {
}
@DocumentA
class A {
}
class B extends A {
}
@DocumentB
class C {
}
class D extends C {
}
//测试
class DocumentDemo {
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()));
}
/**
* 运行结果:
已使用的@Inherited注解:[@com.zejian.annotationdemo.DocumentA()]
没有使用的@Inherited注解:[]
*/
}
java注解
最新推荐文章于 2022-12-16 16:09:31 发布