获得类的对象实例后可以操作对象的方法和属性了。以下是一个例子
1packagereflection;
2
3importjava.lang.reflect.InvocationTargetException;
4importjava.lang.reflect.Method;
5
6publicclassTestClass{
7
8publicintadd(inta,intb)
9{
10returna+b;
11}
12
13publicStringecho(Stringstr)
14{
15returnstr;
16}
17
18publicstaticvoidmain(String[]args)throwsException{
19Class<?>classType=TestClass.class;//获得Class
20
21ObjectTest=classType.newInstance();//通过classType获得对象实例
22
23MethodaddMethod=classType.getMethod("add",newClass[]{int.class,int.class});//运行中获得add方法
24
25Objectresult=addMethod.invoke(Test,newObject[]{1,2});//传入参数调用add方法
26
27System.out.println((Integer)result);
28
29MethodechoMethod=classType.getMethod("echo",newClass[]{String.class});
30
31Objectresult2=echoMethod.invoke(Test,newObject[]{"http://www.cnblogs.com/zhi-hao/"});
32
33System.out.println(result2);
34
35}
36
37}
  运行结果:

  java学习中反射机制跟动态代理相关,动态代理也是java中的重要知识。