[AppleScript] 纯文本查看 复制代码
Class<?> cls = Class.forName("com.qfedu.a_reflect.Person");//
//获取当前Person类内所有public构造方法
Constructor<?>[] constructors = cls.getConstructors();
for (Constructor<?> constructor : constructors) {
System.out.println(constructor);
}
//暴力反射,获取Person类内所有的构造方法,包括私有化构造方法
Constructor<?>[] declaredConstructors = cls.getDeclaredConstructors();
or (Constructor<?> constructor : declaredConstructors) {
System.out.println(constructor);
}
[AppleScript] 纯文本查看 复制代码
Class<?> cls = Class.forName("com.qfedu.a_reflect.Person");
//获取类内所有public修饰的成员方法,包括从父类继承而来的方法
Method[] methods = cls.getMethods();
for (Method method : methods) {
System.out.println(method);
}
根//据指定的方法名和参数类型,获取类内public修饰的成员方法
Method game1 = cls.getMethod("game");
Method game2 = cls.getMethod("game", String.class);
Object obj = cls.getConstructor().newInstance();
//执行public修饰的成员方法
game2.invoke(obj, "WOT");
[AppleScript] 纯文本查看 复制代码
Class<?> cls = Class.forName("com.qfedu.a_reflect.Person");
Object obj = cls.getConstructor().newInstance();
field.set(obj, 20);
//给予权限
id.setAccessible(true);
name.setAccessible(true);
id.set(obj, 1);
name.set(obj, "小米");