System.out.println("name====="+fie.getName());
System.out.println("type====="+fie.getType());
}
} catch (Throwable e) {
System.err.println(e);
}
}
}
4) Method——类的方法对象
[html]
public class DumpMethods {
public static void main(String[] args) {
try {
// 定义一个Person实例对象
Person man = new Person("测试", 30);
Class manClass = man.getClass();
Method manMethod[] = manClass.getDeclaredMethods();
for (int i = 0; i < manMethod.length; i++) {
Method m = manMethod[i];
System.out.println("name = " + m.getName());
System.out.println("decl class = " + m.getDeclaringClass());
Class pvec[] = m.getParameterTypes();
for (int j = 0; j < pvec.length; j++)
System.out.println("param #" + j + " " + pvec[j]);
Class evec[] = m.getExceptionTypes();
for (int j = 0; j < evec.length; j++)
System.out.println("exc #" + j + " " + evec[j]);
System.out.println("return type = " + m.getReturnType());
System.out.println("-----");
}
} catch (Throwable e) {
System.err.println(e);
}
}
}
输出结果:
name = getName
decl class = class com.centit.reflect.Person
return type = class java.lang.String
-----
name = setName
decl class = class com.centit.reflect.Person
param #0 class java.lang.String
return type = void
-----
name = getAge
decl class = class com.centit.reflect.Person
return type = int
-----
name = setAge
decl class = class com.centit.reflect.Person
param #0 int
return type = void
-----