2012-04-09 73 views
0

我有兩個類。在java中創建動態引用

package utilities; 

public class PostCaller { 

    public String getUrl() { 
     return url; 
    } 
    public void setUrl(String url) { 
     this.url = url; 
    } 
    public String getRequest() { 
     return request; 
    } 
    public void setRequest(String request) { 
     this.request = request; 
    } 

    String request = null; 
    String url  = null; 

} 

public class TestLoader { 

    public static void main(String[] args) throws Exception { 
     Object obj = Class.forName("utilities.PostCaller").newInstance(); 
     System.out.println(obj.getClass().getName()); // This prints utilities.PostCaller 
    } 
} 

我想創建一個PostCaller的新Instatnce並從TestLoader類中調用它的方法。在這裏,我有一個創建這個utilities.PostCaller類的參考的問題。 這意味着,我想創建一個名稱由字符串(例如:utilities.PostCaller)以字母形式給出的引用變量。 雖然我已經創建了utilities.PostCaller的新實例,但我不能調用它的方法,因爲我沒有創建它的引用。

+1

這是什麼問題?你期望這個代碼做什麼?這與它所做的有什麼不同? – unholysampler 2012-04-09 11:25:56

+1

如果您想了解更多關於反射api的信息,那麼這裏是[鏈接](http://docs.oracle.com/javase/tutorial/reflect/index.html) – AurA 2012-04-09 11:26:21

+0

我在問題中提到過它。它可能不會被清除。我現在編輯它。我想要的是創建一個參考變量,其名稱是由名稱以dyanamically給出的。 (例如:utilities.PostCaller) – namalfernandolk 2012-04-09 11:31:28

回答

0

據我瞭解,你只是想測試你的PostCaller ...我 如果這是真的,EasyMock圖書館可以在這種情況下幫助ypu。你可以通過google搜索很多例子,這裏有一個http://tersesystems.com/2007/06/25/easymock-examples

+0

這個調用者只是一個示例類。我真正想要的是創建瞬間並動態調用它們的方法。這是我要求一種創建動態引用的方法。 – namalfernandolk 2012-04-09 16:10:42