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

解决方案 »

  1.   

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

  2.   

    呃,同意楼上的,知道类型既可,如果要知道参数名的话,我个人感觉光有.class是不够的,估计会配合.java文件,才能实现
      

  3.   

    呃,同意楼上的,知道类型既可,如果要知道参数名的话,我个人感觉光有.class是不够的,估计会配合.java文件,才能实现
      

  4.   

    public int getModifiers();  这个方法LZ 可以看看!
      

  5.   

    public int getModifiers();  这个方法LZ 可以看看!
      

  6.   

    不是觉得不可能的问题。
    了解一下class文件格式,你会知道是根本不可能的问题。除非你自己提供冗余的field来保存参数名信息
      

  7.   

    我来说说你们不知道的:   如果以debug编译参数来编译java文件的时候,.class文件里面是有包含参数名称的,如果你只是单纯的使用javac没有任何参数的话就会做优化,.class里面没有参数名称。  其实我的问题是抽象的方法这种,在你用debug模式编译的时候依然不会把参数名存进.class里。