title: Java Generics - Class or Class<? extends SomeClass>
body: <p>I am writing a program which will use Java reflection (i.e., <code>Class.forName()</code>) to dynamically create class instance based on user's input.  One requirement is that the instance my program creates must extend one specific Class I defined, called it <code>SomeClass</code>.  My question is: for storing this class type, should I use bounded generic, <code>Class&lt;? extends SomeClass&gt;</code>, or simply unbounded generic, <code>Class</code>?  I found some Java books say that Class is one of the good practices for using unbounded wildcard generic, but I am wondering whether this apply to the situation in my program.</p>
  
  <p>Please feel free to let me know if you found my question is not clear enough or some information is needed.</p>