java在运行过程中,构建类,并获取方法集和属性集,构建实例并调用方法。
package com;import java.lang.reflect.Method;public class Test {public static void main(String args[]) {Class<?> c1 = null; // 声明Class对象c1Person per = null;try {c1 = Class.forName("com.Person");System.out.println(c1.getName() + " ");Method m[] = c1.getMethods();for (Method oo : m) {System.out.print(oo.getName() + " ");Class<?> r = oo.getReturnType();System.out.print(r.getName() + " ");Class<?> p[] = oo.getParameterTypes();for (Class<?> o : p) {System.out.print(o.getName() + " ");}System.out.println();}} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}//try {per = (Person) c1.newInstance();per.speak();} catch (InstantiationException | IllegalAccessException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
//运行结果
com.Person
speak void java.lang.String
speak void
wait void
wait void long int
wait void long
equals boolean java.lang.Object
toString java.lang.String
hashCode int
getClass java.lang.Class
notify void
notifyAll void
I am zhangsan age 20