所以我有这堂课
class version_1{
public int add(int n,int m){
return n+m;
}
public int subtract(int n,int m){
return n-m;
}
}
在我的主类中,我尝试使用
仅显示方法名称Class<?> c = Class.forName("version_1");
Method m[]=c.getDeclaredMethods();
for(int i=0;i<m.length;i++){
System.out.println(m[i].toString());
}
问题是它显示
public int version_1.add(int,int)
public int version_1.subtract(int,int)
是否有任何功能可以显示
添加
减去
答案 0 :(得分:0)
您可以这样获得String:
Car.class.getDeclaredMethods()[0].getName();
这是针对您的类中的单个方法的情况。如果要遍历所有声明的方法,则必须遍历Car.class.getDeclaredMethods():
for (Method method : Car.class.getDeclaredMethods()) {
String name = method.getName();
}
如果要查看所有这些内容,则应使用getDeclaredMethods()
,getMethods()
将仅返回公共方法。
最后,如果您想查看当前正在执行的方法的名称,则应使用以下代码:
Thread.currentThread().getStackTrace()[1].getMethodName();
这将获取当前线程的堆栈跟踪,并在其顶部返回方法的名称。