我正在尝试创建一个抽象的Object Factory,我尝试了一些事情,但没有一个能够工作。
我希望拥有的内容可以被覆盖:
public abstract ObjectFactory<Obj extends GameObject> {
public abstract <Type extends Enum> Obj createObject (Type t) ;
}
我可以扩展ObjectFactory并拥有:
public AntFactory extends ObjectFactory<Ant> {
@Override
public Ant createObject(AntType t) { }
}
但我尝试的所有内容都没有覆盖createObject方法。唯一对我有用的是:
public abstract ObjectFactory<Obj extends GameObject, Type extends Enum> {
public abstract Obj createObject (Type t) ;
}
我不了解这个概念,或者它对枚举不起作用。
有没有办法只在方法中保留枚举的扩展并仍然覆盖它?