反射操作类成员
- getDeclaredConstructor()获取私有的
- setAccessible(true)开启无障碍操作
- 方法可能有重载
- 要用方法名"test"和传参类型(String.class)来说明,到底获取哪个方法
package com.li.changGe.reflection;
import com.li.changGe.reflection.pojo.User;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class ConstructorMethodAndFieldDemo01 {
public static void main(String[] args) throws Exception{
Class aClass = Class.forName("com.li.changGe.reflection.pojo.User");
Constructor<? extends User> constructor = aClass.getDeclaredConstructor();
User user1 = constructor.newInstance();
Field name = aClass.getDeclaredField("name");
name.setAccessible(true);
name.set(user1,"长歌");
Method test = aClass.getDeclaredMethod("setName", String.class);
test.setAccessible(true);
test.invoke(user1,name.toString());
}
}