操作类(Person):
package cn.ouyang.test.entity;
public class Person {
Running!");
}
使用反射和内省操作:
package cn.ouyang.test.test;
import java.beans.BeanInfo;
import java.beans.Introspector;
import java.beans.MethodDescriptor;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Array;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import org.junit.Test;
public class Test1 {
Class.forName("cn.ouyang.test.entity.Person")
Introspector.getBeanInfo(obj.getClass(), Object.class);
bf.getPropertyDescriptors();
pds) {
+ pd.getName());
(pd.getName().equals("name")) {
"小明");
bf.getMethodDescriptors();
{
+ md.getName());
= md.getMethod();
(method.getName().equals("run")) {
null);
Class.forName("cn.ouyang.test.entity.Person");
clazz.newInstance();
clazz.getDeclaredMethods();
{
clazz.getDeclaredFields();
cs=clazz.getConstructors();
cs) {
Class.forName("cn.ouyang.test.entity.Person");
clazz.newInstance();
duixiangObject=clazz.getConstructor(new
Class[]{String.class,int.class});
nobj=duixiangObject.newInstance(new Object[]{"ddd",22});
field=clazz.getDeclaredField("name");
method=clazz.getMethod("run", new Class[]{});
null);
stMethod=clazz.getMethod("running", null);
null);
clazz=Class.forName("java.lang.Integer");
arr=Array.newInstance(clazz,10);
5));
clazz=Class.forName("java.lang.Integer");
arr=Array.newInstance(clazz,myshuzu);
1);
2);
3));//z
}