所以我有几个'经理'类,例如GroupManager。所有这些经理都是单身人士。Java泛型,单例和静态方法
使用此方法实例化:
private static GroupManager groupManager = null;
private GroupManager()
{
}
public static GroupManager Instance()
{
if (groupManager == null)
{
groupManager = new GroupManager();
}
return groupManager;
}
我想我应该开始,因为他们有很多的复制方法来使用一些继承。
每个Manager的Instance()方法是相同的。
所以对于继承我可以做到这一点(显然):
GroupManager extends Manager
是否有可能使用泛型使用相同的实例方法,所有的管理者,是这样的:
public class Manager<E>
{
private static E instance = null;
public static E Instance()
{
if (instance == null)
{
instance = new E();
}
return instance;
}
}
我想这是有道理的:)
那么你会做GroupManager.Instance()像正常。
Java泛型是没有办法的与C++模板相同!随它吧!您永远不能使用Java Generic分配对象(即调用new)。尝试谷歌搜索“Java类型擦除” – DwB
相关:http://stackoverflow.com/questions/1927789/why-should-i-care-that-java-doesnt-have-reified-generics – BalusC
经理 E是一个引用一个泛型类型。没有简单的方法来设置类来分配只在运行时才知道的类型的对象。里德麦克的答案是我会尝试的。 –
DwB