我正在考虑让我的代码更清洁并开始使用 “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搜索了很多,但没有找到解决方案。