Java Singleton问题

时间:2017-01-25 16:36:45

标签: java singleton abstract-class generic-programming

我正在考虑让我的代码更清洁并开始使用 “Singleton语法”访问另一个包的“main”类... 像模块化系统。

这是我的问题:

我有一个包“config”和“console”。包的主要类是ConfigModule和ConsoleModule,它们都扩展了抽象类Module。 现在我想为Module类编写“getInstance()”方法。这就是它如何寻找一个类。

private static ConfigModule module;

public static ConfigModule getInstance() {

    if(module == null) {
        module = new ConfigModule();
    }

    return module;
}

问题是我想为抽象模块类制作它...我想过使用泛型,但这与静态方法有很多混淆。那就是我到目前为止所做的事情:

private static T module; //That wont work.. Do you have an idea?

//To return type: If I call ConfigModule.getInstance().custom an ide cant find the method... my mistake?
public static <T extends Module> T getInstance() {

    if(module == null) {
        module = new T; //Nope... not even close.. but how?
    }

    return (T) module; //Its unchecked.. can I check it?
}

我希望你能帮助我......我用Google搜索了很多,但没有找到解决方案。

0 个答案:

没有答案