我想写个java解析另一个java源文件,来快速显示其中所有的方法名和方法对应的参数名。

我是菜鸟,诸位大神如果觉得要求太高或者我太菜不要骂我。举个例子吧,我有个算加减的例子packagecom.test;publicclassCal{/***@paramar... 我是菜鸟,诸位大神如果觉得要求太高或者我太菜不要骂我。
举个例子吧,我有个算加减的例子

package com.test;

public class Cal {

/**
* @param args
*/

public int add(int a, int b)
{
return a+b;
}

private int minus(int a, int b)
{
return a-b;

}

public static void main(String[] args) {
// TODO Auto-generated method stub
int arga = 1;
int argb = 2;
Cal cal = new Cal();
cal.add(arga, argb);
cal.minus(arga, argb);
System.out.print(cal.add(arga, argb));
System.out.print(cal.minus(arga, argb));
}

}

我想快速知道Cal类中的方法(add,minus,main)及参数(比如add对应的是a和b)。并在另一个java文件中输出。网上都说用反射,但好像和我的情况有点不同,我也不知道怎么搞比较合适,还请大神点拨一下,能有可执行的文件更好。我还有分。谢谢!
3楼说的对,我要的的确不是参数名,是3楼说的参数类型。不过我按照3楼做的输出了很多wait,tostring的method名,是隐藏的方法名吗?
展开
 我来答
6285869
2012-01-18 · 超过12用户采纳过TA的回答
知道答主
回答量:46
采纳率:0%
帮助的人:38.5万
展开全部

查看类的方法 结构 用反射啦

我以前也写过一个这样的程序 模仿一下反编译

主要用的方法是

Class c=Class.forName(str);

int m=c.getModifiers();

//类标题

boolean class_=false;

if(Modifier.isInterface(m))

{

if(Modifier.isPublic(m))

cla.append("public ");

cla.append("interface ");

}

else

{

class_=true;

if(Modifier.isPublic(m))

cla.append("public ");

if(Modifier.isFinal(m))

cla.append("final ");

if(Modifier.isAbstract(m))

cla.append("abstract ");

cla.append("class ");

}

EvilProxy
2012-01-18 · TA获得超过294个赞
知道小有建树答主
回答量:280
采纳率:100%
帮助的人:263万
展开全部
Class<?> clazz = Class.forName("com.test.Cal");
for (Method method : clazz.getMethods()) {
System.out.print("Method: "+method.getName());
for(Class<?> paramClass : method.getParameterTypes()){
System.out.print("\t"+paramClass.getName()+", ");
}
System.out.println();
}

以上大概就是你要的答案,只能得到参数类型,毕竟,形参名实际上是没什么用的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rock_0125
2012-01-18 · 超过11用户采纳过TA的回答
知道答主
回答量:78
采纳率:100%
帮助的人:25.9万
展开全部
javap Cal
用这个命令就可以输出所有的方法及参数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
antme2008
2012-01-18 · 超过39用户采纳过TA的回答
知道小有建树答主
回答量:200
采纳率:0%
帮助的人:121万
展开全部
就把.java文件当文本文档一样解析。找所有(?){?}之前的字符串试试。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
味洋扛590
2012-01-18 · TA获得超过1647个赞
知道小有建树答主
回答量:1640
采纳率:100%
帮助的人:822万
展开全部
wait()方法是Object类的方法,每个类都继承Object类,那么就都有wait()方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式