title: Generic Enum param in abstract method
body: <p>I'm trying to make an abstract Object Factory and I tryied a few things and none of them worked.</p>
  
  <p>What I would like to have is something like this that could be overrided:</p>
  
  <pre><code>public abstract ObjectFactory&lt;Obj extends GameObject&gt; {
  
      public abstract &lt;Type extends Enum&gt; Obj createObject (Type t) ;
  
  }
  </code></pre>
  
  <p>that I could extends ObjectFactory and have:</p>
  
  <pre><code>public AntFactory extends ObjectFactory&lt;Ant&gt; {
  
       @Override
       public Ant createObject(AntType t) { }
  }
  </code></pre>
  
  <p>but everything I tryied did not override the createObject method. The only thing that worked for me was:</p>
  
  <pre><code>public abstract ObjectFactory&lt;Obj extends GameObject, Type extends Enum&gt; {
  
      public abstract Obj createObject (Type t) ;
  
  }    
  </code></pre>
  
  <p>Theres something that I'm not understanding about this concept or it doesn't work for enum.</p>
  
  <p>Is there a way to keep the extends of enum only in the method and still override it?</p>