基本上使用paranamer可以得到非abstract方法的参数名称,在参数列表中出现数组的情况也不能获取到。
     已知:可以从debug information中提取。      我想问的问题是:
          在class文件生成时,类似抽象方法的参数名被过滤了。
      有过同样经历的朋友帮忙!

解决方案 »

  1.   

    照理说抽象方法这么写就行了
    public abstract void Foo(string);
    之所以写成这样
    public abstract void Foo(string str);
    无非是为了符合语法,因为实际str不会用到,甚至子类重写的时候可以使用别的变量名,
    所以class文件没有什么理由保存抽象方法的参数名
      

  2.   

     Class<?>[] getParameterTypes() 
              按照声明顺序返回 Class 对象的数组,这些对象描述了此 Method 对象所表示的方法的形参类型。 
      

  3.   

     int getModifiers() 
              以整数形式返回此 Method 对象所表示方法的 Java 语言修饰符 Modifier.ABSTRACT  表示 abstract 修饰符的 int 的值
    即:Modifier.ABSTRACT == method.getModifiers()   判断函数是抽象方法。再用method.getParameterTypes();得到形参类型。
      

  4.   


    我猜楼主是想做调试工具来着....
    另一个帖子里我也回了,我觉得这个要跟java文件一起做