Class clazz1 = Class.forName("com.heima.bean.Person");
Class clazz2 = Person.class;
Person p = new Person();
Class clazz3 = p.getClass();
获取构造方法
Class clazz = Class.forName("com.heima.bean.Person");
Constructor c = clazz.getConstructor(String.class,int.class);
Person p = (Person) c.newInstance("顾雨磊",26);
Person p1 = (Person) c.newInstance("周红伟",28);
Person p2 = (Person) c.newInstance("谷晓蕾",20);
修改成员变量
Class clazz = Class.forName("com.heima.bean.Person");
Constructor c = clazz.getConstructor(String.class,int.class);
Person p = (Person) c.newInstance("顾雨磊",28);/*Field f = clazz.getField("name");
f.set(p, "李四");*/
Field f = clazz.getDeclaredField("name");
f.setAccessible(true);
f.set(p, "周红伟");
System.out.println(p);
成员方法
Class clazz = Class.forName("com.heima.bean.Person");
Constructor c = clazz.getConstructor(String.class,int.class);
Person p = (Person) c.newInstance("周大伟",22);
Method m = clazz.getMethod("eat");
m.invoke(p);
Method m1 = clazz.getMethod("eat", int.class);
m1.invoke(p, 5);
test1
Class clazz = Class.forName("java.util.ArrayList");
Method m = clazz.getMethod("add", Object.class);
m.invoke(list, "asd");
System.out.println(list);
setProperty
publicvoidsetProperty(Object obj ,String propertyName ,Object value) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException{
Class clazz = obj.getClass();
Field f = clazz.getDeclaredField(propertyName);
f.setAccessible(true);
f.set(obj, value);
}