public void method(TblFwlx obj) {
Class clazz = objgetClass();
Field[] fields = objgetClass()getDeclaredFields();//获得属性
for (Field field : fields) {
PropertyDescriptor pd = new PropertyDescriptor(fieldgetName(),
clazz);
Method getMethod = pdgetReadMethod();//获得get方法
Object o = getMethodinvoke(obj);//执行get方法返回一个Object
}
}
给你个参考import javalangreflectMethod;
import javalangreflectInvocationTargetException; /
Created by IntelliJ IDEA
File: TestRefjava
User: leizhimin
Date: 2008-1-28 14:48:44
/
public class TestRef { public static void main(String args[]) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException {
Foo foo = new Foo("这个一个Foo对象!");
Class clazz = foogetClass();
Method m1 = clazzgetDeclaredMethod("outInfo");
Method m2 = clazzgetDeclaredMethod("setMsg", Stringclass);
Method m3 = clazzgetDeclaredMethod("getMsg");
m1invoke(foo);
m2invoke(foo, "重新设置msg信息!");
String msg = (String) m3invoke(foo);
Systemoutprintln(msg);
}
} class Foo {
private String msg; public Foo(String msg) {
thismsg = msg;
} public void setMsg(String msg) {
thismsg = msg;
} public String getMsg() {
return msg;
} public void outInfo() {
Systemoutprintln("这是测试Java反射的测试类");
}
}
public static void printMethods(Class cl)
{
Method[] methods =clgetDeclaredMethods();//返回一个包含方法对象的数组
for(Method m : methods)//循环该类的每个方法
{
Class retType = mgetReturnType();//该方法的返回类型,
Sting name = mgetName();//获得方法名
Systenoutprint(" "+ModifiertoString(mgetModifiers());打印方法修饰符
Systemoutprint(" "+retTypegetName() + " " + name +"(");
Class[] paramTypes = mgetParameterTypes();//获得一个方法参数数组(getparameterTypes用于返回一个描述参数类型的Class对象数组)
for(int j = 0 ; j < paramTypeslength ; j++)
{
if ( j > 0 ) Systemoutprint(" , "); //如果有多个参数,中间则用逗号隔开,否则直接打印参数
Systemoutprint (paramTypes[ j ]getName);
}
Systemoutprintln (" );");
}}
//////////getparameterTypes方法用于返回一个描述参数类型的Class对象数组)
以上就是关于如何用Java反射取得一个对象里所有get方法的结果全部的内容,包括:如何用Java反射取得一个对象里所有get方法的结果、java反射调用方法的时候如果参数是对象,怎么给参数类型、java反射获得方法名后怎样判断方法是否含有参数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)