2013-04-13 18 views
0

我知道如何在Java中引用類如com.google.googlemaps.exampleClass.exampleMethod()。 是否可以使用變量(Class c)來交換引用的第一部分(在本例中爲com.google.googlemaps)?通過使用變量引用類的方法

編輯 好了,有些慌亂之後,我將(嘗試)提供一個例子

我們有A類。我可以添加一個新的實例。每個實例都有變量name(一個字符串)和redir(目前處於混亂狀態)。 redir是這是應該保持爲類參考變量,所以可從這些類調用特定方法,所以redir就像com.google.googlemaps

+1

我不認爲Java支持C#別名,如果這就是你的意思。 –

+0

您不能簡單地將'import com.google.googlemaps。*'放在代碼的頂部嗎? – christopher

+0

我不明白。有'com.google.googlemaps.exampleClass.exampleMethod()'你想改變第一部分,並有'net.anotherpackage.exampleClass.exampleMethod()'? – acdcjunior

回答

0

喜歡c.exampleMethod()

是,像這樣

import com.google.googlemaps.ExampleClass; 
... 
ExampleClass c = new ExampleClass(); 
c.exampleMethod(); 
+0

它並不那麼簡單。我需要輕鬆地,無需編輯,就可以更改另一個參考 – HX6

+0

不用編輯?我不確定你想要什麼... –

+0

Ray Stojonic - 所以我可以交換參考,而不必將它們硬編碼到文件中。 – HX6

0

從你的例子:

com.google.googlemaps.exampleClass.exampleMethod() 

exampleMethod()是一個靜態方法。

如果您有一個對象/引用類型Class<com.google.googlemaps.exampleClass>Class c),您可以撥打getMethod獲取Method對象。然後你可以調用invoke方法來調用該方法。

+0

「Class (Class c)」 我希望能夠更改<> – HX6

+0

中的內容,您可以'Class.forName(whatevername)'然後您有類引用。如果名字是正確的並且該類存在。然後getMethod並調用。 – Kent