Java-如何从代理类获取注释?

Java-如何从代理类获取注释?,java,reflection,proxy,annotations,Java,Reflection,Proxy,Annotations,我不太熟悉代理类,也不知道这个(“注释”)是如何成为代理对象的。我可以从代理对象检索注释吗 public static void test(Annotation annotation) { System.out.println("ValidBoolean annotation len:" + ValidBoolean.class.getAnnotations().length); System.out.println(annotation.getClass().getName()

我不太熟悉代理类,也不知道这个(“注释”)是如何成为代理对象的。我可以从代理对象检索注释吗

public static void test(Annotation annotation) {
    System.out.println("ValidBoolean annotation len:" + ValidBoolean.class.getAnnotations().length);
    System.out.println(annotation.getClass().getName() + ":" + annotation.getClass().getAnnotations().length);
    if (annotation instanceof ValidBoolean) {
        ValidBoolean validBoolean = (ValidBoolean) annotation;
        System.out.println("[BOOLEAN]" + validBoolean.getClass().getName() + ":" + validBoolean.getClass().getAnnotations().length);
    }
}
结果是:

ValidBoolean annotation len:3
com.sun.proxy.$Proxy28:0
[BOOLEAN]com.sun.proxy.$Proxy28:0

我还没有真正理解这个代理机制。但是我可以通过
Annotation.annotationType()
而不是
Annotation.getClass()
来获得真正的类,因为Annotation只是一个接口,所以
Annotation.getClass()
只会生成一个Java代理对象

代理对象似乎不会继承注释,这是我学到的最重要的东西