有没有办法获得具有特定输入的程序的所有已执行方法的列表? 例如:
public static void main(String[] args)
{
Car c1 = new Car("c1");
c1.drive();
if(args.length > 2)
{
Car c2 = new Car("c2");
c2.drive();
}
}
public class Car()
{
String name;
public Car(String name)
{
this.name = name;
}
public void drive();
{
System.out.println(name + " is driving!");
}
}
现在我想用输入“1 2 3”获得执行的方法(将创建c1和c2)。 所以列表看起来像这样:
void main(String[] args);
public Car(String name);
void drive();
void println(String input);
public Car(String name);
void drive();
void println(String input);
由于println中的“+
”或其他内容,可能会列出更多方法。有谁知道如何自动创建这样的列表?
如果这对某人来说太容易了,那么过滤所列出的方法也是很好的,这样只会列出由程序员创建的方法,而不是使用但未创建的方法,如println (我希望你知道我的意思)。该列表将如下所示:
void main(String[] args);
public Car(String name);
void drive();
public Car(String name);
void drive();
答案 0 :(得分:0)
Reflection API可以帮助您。这是你在看什么?
以下是Java Reflect API的链接:
答案 1 :(得分:0)
您可以在代码上配置Aspects以进行跟踪。但我没有看到任何方法可以计算其他库中的方法,直到你编译那些应用了方面的库。