簡體   English   中英

Java-獲取所有執行的方法

[英]Java - get all executed methods

有沒有一種方法可以獲取具有特定輸入的程序的所有已執行方法的列表? 例如:

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();

反射API可以為您提供幫助。 這是你在找什么嗎?

這是Java Reflect API的鏈接:

http://docs.oracle.com/javase/tutorial/reflect/

您可以在代碼上配置方面以進行跟蹤。 但是我看不出有什么方法可以計數其他庫中的方法,直到您應用方面將其編譯為止。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM