如何导入和使用指定路径中的类?

时间:2014-11-17 23:03:27

标签: java customization

我正在制作一个应该有"模块"哪些人可以通过API制作自己的代码,然后他们可以添加其中一个Modules,让他们称之为ModuleNicerText,他们将其添加到MyProgram\Modules 1}}文件夹作为.java类(源),类实现Module

Module类有一种方法 (嗯,它有更多,但为了这篇文章我会说一个) ,叫做onUpdate(),我希望能够以某种方式将该类导入我的代码,然后在需要时运行.onUpdate(),我希望我能够很好地解释它,如果我还没有那么这是另一个例子:

我有一个名为Module

的界面

这是Module的主体:

public interface Module {
    void onUpdate();
}

现在,我有一个名为MyProgram的主类,在那个类中我有这个方法:

public void onUpdate(){
    for (Module module : modules){
        module.onUpdate();
    }
}

我使用这种系统,所以我可以轻松地添加或删除组件而不必乱用一堆东西,如果它们都挤在一个类/方法中。

现在,有一个目录在运行程序MyProgram\Modules时创建,任何想要的人都可以添加一个扩展Module接口的.java文件。

我希望能够查看该目录中的.java文件,并能够为它们调用.onUpdate()方法,以便我的用户可以尽可能多地进行自定义!

非常感谢任何帮助,我提前感谢你花时间阅读这一巨大的文字墙:)

2 个答案:

答案 0 :(得分:1)

有一篇好文章(有点旧,但很好的解释)。 它提供了有关如何通过UpToDate文件检查使用代理模式的详细信息。 当您在接口中保留相同的方法并仅更改它的实现时,您只能在实现接口的类中使用此技术。

检查出来:Dynamic Java code to your Application

答案 1 :(得分:0)

您可以使用Java Simple Plugin Framework。它做了类似于你想要的东西,并且随时可以使用。