这里有一个类
public class A{
   private void f(String str){
      System.out.println(str);
   }
}
在另一个调用类
怎样用Method类的反射机制来调用这个有参数的 f方法
也可说是用Method类的反射机制来调用带参数的方法

解决方案 »

  1.   

    java.lang.reflect.Method类中有个方法: getTypeParameters
    TypeVariable<Method>[] getTypeParameters() 
              返回 TypeVariable 对象的数组,这些对象描述了由 GenericDeclaration 对象表示的一般声明按声明顺序来声明的类型变量。 
      

  2.   


    如果方法是public的,是可以调用的public class A {
    public void f(String str){
          System.out.println(str);
      }
    }                public static void main(String[] args) {
    try {

                            Class c = Class.forName("A");
    Method m = c.getMethod("f", String.class);
    m.invoke(c.newInstance(), "invoke the method");
                            

    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    } catch (SecurityException e) {
    e.printStackTrace();
    } catch (NoSuchMethodException e) {
    e.printStackTrace();
    } catch (IllegalArgumentException e) {
    e.printStackTrace();
    } catch (IllegalAccessException e) {
    e.printStackTrace();
    } catch (InvocationTargetException e) {
    e.printStackTrace();
    } catch (InstantiationException e) {
    e.printStackTrace();
    }

    }
      

  3.   

    楼主
    为什么private 就的不能访问
    反射机制是可以调用一切方法的吗?