public static void main(String[] args) throws Exception { // 1、通过反射创建Person对象 Class<Person> personClass =Person.class; Person person1 = personClass.newInstance(); Class<Person> aClass = (Class<Person>) Class.forName("day09.Person"); Person person2 = personClass.newInstance(); // 获取指定的全参构造器,并创建对象 Constructor<Person> c = personClass.getConstructor(String.class,int.class,String.class); System.out.println(c); // 3、获取所有的属性,并使用反射技术修改具体的值 Field name = personClass.getDeclaredField("name"); Field age = personClass.getDeclaredField("age"); Field sex = personClass.getDeclaredField("sex"); System.out.println(name); System.out.println(age); System.out.println(sex); Person p = new Person("张三",100,"男"); age.setAccessible(true); name.setAccessible(true); sex.setAccessible(true); System.out.println("修改前"+p); age.set(p,20); name.set(p,"李四"); sex.set(p,"女"); System.out.println("修改后"+p); // 4、获取所有的方法,并打印 Method[] methods = personClass.getMethods() ; System.out.println(Arrays.toString(methods)); // 5、使用反射获取toString方法的对象,并执行 Class String =Class.forName("day09.Test"); Method m01 = String.getMethod("toString"); System.out.println(m01); System.out.println(m01.invoke(p)); //执行的是p对象的toString方法