2012-06-13 63 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注册一样。

相关问题