java中的反射,invoke方法详解
就是调用类中的方法,最简单的用法是可以把方法参数化 invoke(class, method) 比如你Test类里有一系列名字相似的方法setValue1、setValue2等等 可以把方法名存进数组v[],然后循环里invoke(test,v[i]),就顺序调用了全部setValue
java反射机制怎样获取到类上面的注解
// 定义注解并指定java注解保留策略为运行时RUNTIME,运行时注入到JAVA字节码文件里// 这样才可以在运行时反射并获取它。@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME)@interface MyAnnotation{ String key() default ""; int value() default 0; }// 使用注解@MyAnnotation(key="key1",value=200)class MyClass{}// 反射注解public static void main(String[] args){ MyClass myClass=new MyClass(); MyAnnotation annotation=myClass.getClass().getAnnotation(MyAnnotation.class)
; System.out.println("key="+annotation.key()+"\tvalue="+annotation.value());}