package ClassTest.ClassFieldsTest; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; /** * FileName: ReflectDemo04 * Author: lps * Date: 2022/4/11 21:30 * Sign:刘品水 Q:1944900433 */ public class ReflectDemo04 { public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException { Class<?> c = Class.forName("ClassTest.ClassTest01.Student"); //Student s=new Student(); Constructor<?> con = c.getConstructor(); Object obj = con.newInstance(); //s.method1(); Method method1 = c.getMethod("method1"); method1.invoke(obj); ////s.method2(); Method method2 = c.getMethod("method2",String.class); method2.invoke(obj,"hhh"); //String ss = s.method3("Lps", 21); //System.out.println(ss); Method method3 = c.getDeclaredMethod("method3", String.class, int.class); Object o = method3.invoke(obj, "刘品水", 21); System.out.println(o); //s.function(); Method function = c.getDeclaredMethod("function"); function.setAccessible(true); function.invoke(obj); } }