获取方法参数名称【觉得不可能的勿进】

七年 2009-03-31 07:20:05
基本上使用paranamer可以得到非abstract方法的参数名称,在参数列表中出现数组的情况也不能获取到。
已知:可以从debug information中提取。

我想问的问题是:
在class文件生成时,类似抽象方法的参数名被过滤了。


有过同样经历的朋友帮忙!
...全文
137 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
raulluxin 2009-04-17
  • 打赏
  • 举报
回复
不知道LZ想干什么
ET郭强 2009-04-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yangqidong 的回复:]
照理说抽象方法这么写就行了
public abstract void Foo(string);
之所以写成这样
public abstract void Foo(string str);
无非是为了符合语法,因为实际str不会用到,甚至子类重写的时候可以使用别的变量名,
所以class文件没有什么理由保存抽象方法的参数名
[/Quote]
觉得说的有道理,但就是不知对不对
wolfYZ 2009-04-06
  • 打赏
  • 举报
回复
我也没看懂他说的是什么[Quote=引用 6 楼 wysunning 的回复:]
引用 2 楼 java2000_net 的回复:
我都没看懂你要干啥!

我也没看懂
[/Quote]
mumu_java 2009-04-01
  • 打赏
  • 举报
回复
呵呵,lz的问题是什么?是想获得抽象类的方法参数名称吗?
wysunning 2009-04-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 java2000_net 的回复:]
我都没看懂你要干啥!
[/Quote]
我也没看懂
yanhan0615 2009-04-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 java2000_net 的回复:]
我都没看懂你要干啥!
[/Quote]

我猜楼主是想做调试工具来着....
另一个帖子里我也回了,我觉得这个要跟java文件一起做
luojihaidao 2009-04-01
  • 打赏
  • 举报
回复
int getModifiers()
以整数形式返回此 Method 对象所表示方法的 Java 语言修饰符

Modifier.ABSTRACT 表示 abstract 修饰符的 int 的值
即:Modifier.ABSTRACT == method.getModifiers() 判断函数是抽象方法。

再用method.getParameterTypes();得到形参类型。


luojihaidao 2009-04-01
  • 打赏
  • 举报
回复
Class<?>[] getParameterTypes()
按照声明顺序返回 Class 对象的数组,这些对象描述了此 Method 对象所表示的方法的形参类型。
老紫竹 2009-04-01
  • 打赏
  • 举报
回复
我都没看懂你要干啥!
yangqidong 2009-03-31
  • 打赏
  • 举报
回复
照理说抽象方法这么写就行了
public abstract void Foo(string);
之所以写成这样
public abstract void Foo(string str);
无非是为了符合语法,因为实际str不会用到,甚至子类重写的时候可以使用别的变量名,
所以class文件没有什么理由保存抽象方法的参数名

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧