package com.qcby;public class Person {private String name;public Integer age;Character sex;protected Integer height;public Person() {}public Person(String name) {this.name = name;}public Person(String name, Integer age, Character sex, Integer height) {this.name = name;this.age = age;this.sex = sex;this.height = height;}public void run() {System.out.println("人跑的很快");}private void fly(String name) {System.out.println(name+"很会飞");}int gerAge() {return age;}void method(Integer age , Character sex) {System.out.println(age + " " + sex);}
}
package com.qcby.user;//成员变量赋值,输出值,执行构造器,运行方法
public class User {private String name;public Integer age;Character sex;protected Integer height;public User() {}public User(String name) {this.name = name;}private User(String name, Integer age, Character sex, Integer height) {this.name = name;this.age = age;this.sex = sex;this.height = height;}public void run() {System.out.println("人跑的很快");}private void fly(String name) {System.out.println(name+"很会飞");}int getAge() {return age;}void method(Integer age , Character sex) {System.out.println(age + " " + sex);}@Overridepublic String toString() {return "Person [name=" + name + ", age=" + age + ", sex=" + sex + ", height=" + height + "]";}
}
package com.qcby.user;import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;public class Main {public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, SecurityException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchFieldException {Class pclass = Class.forName("com.qcby.user.User");Constructor userconstructor = pclass.getDeclaredConstructor();User user = (User) userconstructor.newInstance(null);Field namefield = pclass.getDeclaredField("name");namefield.setAccessible(true);namefield.set(user, "qiqi");Field agefield = pclass.getDeclaredField("age");agefield.set(user, 1);Field sexfield = pclass.getDeclaredField("sex");sexfield.set(user, '2');Field heightfield = pclass.getDeclaredField("height");heightfield.set(user, 11);System.out.println(user.toString());Method runmethod = pclass.getDeclaredMethod("run", null);Method flymethod = pclass.getDeclaredMethod("fly", String.class);flymethod.setAccessible(true);Method getAgemethod = pclass.getDeclaredMethod("getAge", null);Method methodmethod = pclass.getDeclaredMethod("method", Integer.class,Character.class);runmethod.invoke(user, null);flymethod.invoke(user, "qiqi");getAgemethod.invoke(user, null);methodmethod.invoke(user, 11,'a');}
}