我正在开发一个程序,它应该有“模块”,人们可以通过 API 编写自己的代码,然后他们可以添加他们的一个模块
,假设它叫做ModuleNicerText
,他们将其作为 .java 类(源代码)添加到 MyProgram\Modules
文件夹,并且该类实现了 Module
。
Module
类有一个方法(好吧,它有更多但为了这篇文章我会说一个),称为 onUpdate()
,我希望能够以某种方式将该类导入我的代码,然后在需要时运行 .onUpdate()
,我希望我解释得足够好,如果我还没有,那么这里是另一个例子:
我有一个接口(interface),名为 Module
这是模块
的主体:
public interface Module {
void onUpdate();
}
现在,我有一个名为 MyProgram
的主类,在那个类中我有这个方法:
public void onUpdate(){
for (Module module : modules){
module.onUpdate();
}
}
我使用这种系统,所以我可以轻松地添加或删除组件,而不必弄乱一堆东西,如果它们都挤在一个类/方法中的话。
现在,程序运行时会创建一个目录,它是 MyProgram\Modules
任何人都可以添加一个扩展 Module
的 .java 文件那里的界面。
我希望能够查看该目录中的 .java 文件并能够为它们调用 .onUpdate()
方法,以便我的用户可以拥有尽可能多的自定义可能可以!
非常感谢任何帮助,我提前感谢您花时间阅读这面巨大的文字墙:)
最佳答案
有一篇很好的文章(有点旧,但解释很好)。 它提供了有关如何通过 UpToDate 文件检查使用代理模式的详细信息。 当您在接口(interface)中保留相同的方法,并且仅更改它的实现时,您只能在实现该接口(interface)的类中使用此技术。
关于java - 如何导入和使用指定路径中的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26983625/