2012-02-16 48 views
0

我想輸入java類的路徑作爲輸入和輸出,它應該給我該類中的方法列表。我要繼續嗎?任何人都可以指導me.pls。如何從java中的類中獲取方法列表?

+1

已經有很多類似的問題,你應該先作出的檢索。 – 2012-02-16 10:26:06

+1

您所描述的內容不是重構(這是爲了在不改變行爲的情況下提高性能/可讀性來重寫代碼)。像eclipse這樣的IDE可以顯示你已經打開的類的所有屬性和方法... – shutefan 2012-02-16 10:27:17

+1

請說明你已經完成了哪些工作。什麼研究? – Gray 2012-02-16 22:14:30

回答

1
Class personClass = Person.class; 

//Get the methods 
Method[] methods = personClass.getDeclaredMethods(); 

//Loop through the methods and print out their names 
for (Method method : methods) 
{ 
    System.out.println(method.getName()); 
} 
+0

Thankyou.that幫助..! – avadha 2012-02-16 12:53:55

+0

如果我必須從我的系統的本地路徑讀取java類中的方法,該怎麼辦?是否有可能直接讀取它,否則我將不得不在任何包中加載該文件並執行該操作? – avadha 2012-02-16 13:26:04

+0

你可以在任何課上做。它與包無關。 – 2012-02-18 06:01:44

0

可以通過編程方式使用反射API(obj.getClass().getDeclaredMethods())或使用命令行實用程序javap這是一個部分做您的JDK發行版。

1

您可以用雙引號給出路徑名並獲取java類。從java類可以獲得數組方法,並且通過迭代方法數組,您可以通過方法的.getName()方法命名方法,以及它可以轉換爲列表。

Class class = Class.forName("com.nextenders.facadeimplementation.facade." 
        + className); 
    Method[] mymethods = class.getMethods(); 

讓我知道,如果它還是不

感謝, Punam

+0

如果我必須從我的系統的本地路徑中讀取java類中的方法,該怎麼辦? 是否可以直接讀取它,或者我將不得不在任何軟件包中加載該文件並執行該操作? – avadha 2012-02-16 12:07:22

+0

@avadha你可以使用System.getProperty(「user.dir」)得到路徑,然後你需要轉換路徑分隔符,你可以在你係統中的任何地方獲得類。 – Punam 2012-02-21 10:34:25