2012-06-13 96 views
3

我正在開發一個Java應用程序,它將有很多貢獻。我想讓單個包中的課程以某種方式「自我註冊」自己。目前,我們有另一個類,只是增加了每到一個listlike這樣的:允許類「自我註冊」,將自己添加到列表等

ourlist.add(new SomeClassName());

這要求每個貢獻者添加一行像這樣爲自己另外,我想避免的。我想讓應用程序掃描包,並自動將每個類添加到上面的列表中。

我試過使用一些類掃描代碼的軟件包,但班級類型不與我們玩的很好,我太新來java來充分理解這個問題。

+0

試試這個:http://www.dzone.com/snippets/get-all-classes-within-package – alfasin

+0

這就是我試過。它似乎沒有工作,因爲Class []類型不是我們加載的類的相同類型,並且eclipse一直抱怨類型不匹配。我試着改變代碼的類型來匹配,但最後一行,classes.add(Class.forName部分沒有工作。 – helion3

+0

你能告訴我們你的代碼嗎? – alfasin

回答

0

運行時還是靜態的?運行時間爲 您可以在類中使用靜態塊,並在側面靜態塊中放置代碼以註冊自己。就像JDBC驅動程序的工作方式並向drivermanager註冊一樣。

相關問題