导入包:Java.lang.Class
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import org.junit.Test;
Class clazz = Class.forName(""package"."java"");
//getConstructor(?):获取类的构造函数,?表示形参
Constructor con = clazz.getDeclaredConstructor(null);//私有方法
//设置私有构造函数的可见性
con.setAccessible(true);
//通过所获取的类的构造方法创建这个类的对象
Object obj=con.newInstance();
//Method x =clazz.getDeclaredField(String name):获取类的特定函数(包括私有)String name指定函数名
Method m = clazz.getDeclaredMethod("charAt", String.class,int.class);
//设置私有方法的可见性
m.setAccessible(true);
//实例化私有方法并获取返回值
Object result = m.invoke(obj,"abcd",0);
//获取类的私有成员变量
Field f=clazz.getDeclaredField("R");
//设置私有函数可见性
f.setAccessible(true);