我有一個關於實例化Java對象的特定方法的問題。通過反射實例化Java對象
基本上,我需要實現一個實現接口的單例。我目前嘗試使用工廠和一些反思來做到這一點,試圖重現this example(精確地說是第5篇文章)。
我喜歡的部分是通過這種方法,我可以很容易地改變Singleton的實現。
問題是我真的不明白如何檢索類名。在上面的例子中,System.getProperty()
似乎是一種做到這一點的方法,但該示例並未精確顯示完成此操作所需的所有類型(該字段未輸入)。問題是我不知道給getProperty()
方法的密鑰。看起來它必須是帶有.type的單身私人靜態字段的名稱(即mySingleton.name
),但它似乎不起作用...
我想知道如何檢索類名。順便說一句,如果有更好的方法來做到這一點,我願意提供建議。
我建議你先看看'java.util.ServiceLoader',然後沿着這條路走得太遠。 – EJP 2012-08-13 10:37:34