例如在一个Test类中定义个方法如下
public void methodName(String a,String b,Paramater param)
其中Paramater为接口
当利用反射来寻找Test类中的methodName方法会抛出NoSuchMethodException异常为什么?求解答啊

解决方案 »

  1.   

    public static void main(String[] args) throws SecurityException, NoSuchMethodException 
    {
    System.out.println(ClassLoader.class.getClassLoader().getClass().getName());
    System.out.println(System.class.getClassLoader());

    System.out.println(ClassLoader.class.getMethod("methodName",
    String.class,String.class,Paramater.class));

    }

    public static void methodName(String a,String b,Paramater param)
    {

    }
    没有问题啊
      

  2.   

    因为可能会存在你找不到方法的可能,所以编译期就会告诉你这里可能会出现找不到方法的情况。你catch掉就好了。
    当然你的那个方法的获取
    Class<?> c = Test.class;
    Method method = c.getMethod("methodName",new Class[]{String.class,String.class,Paramter.class});
    传对象的时候,对于Paramter你传一个实现了Paramter接口的对象即可