public Class A
{
public void setName(String name)
{
}
}A a = new A();
Class c = Class.forName("A");
Method method = c.getMethod("setName", new Class[]{String.class});
method.invoke(a, new Object[]{"name"});相当于a.setName("name");

解决方案 »

  1.   

    Method method = c.getMethod("setName", new Class[]{String.class});
    method.invoke(a, new Object[]{"name"});
    后面的两行可否给予详解,thanks!
      

  2.   

    Method method = c.getMethod("setName", new Class[]{String.class});
    从Class c中找到名为setName,带一个String参数的方法
    method.invoke(a, new Object[]{"name"});
    调用对象a的该方法,参数是name字符串
      

  3.   

    补充一下,调用静态方法时invoke方法第一个参数传入null即可。
      

  4.   

    String.class
    这个写法可以给解释一下吗?这样写好象应该是个属性啊,但String里没这个属性
      

  5.   

    参见:
    http://expert.csdn.net/Expert/topic/1968/1968940.xml?temp=.3974268
    中我的回答。