title: Create List of classes that extends and implement
body: <p>I have a several classes that define as follow :</p>
  
  <pre><code>class A extends Super implements Interface {}
  class B extends Super implements Interface {}
  </code></pre>
  
  <p>I want to create list of these classes.
   I try the following:</p>
  
  <pre><code>public class C {
  
      List&lt;Class&lt;?&gt;&gt; classes = Arrays.asList((Class&lt;?&gt;) A.class, B.class); // Works
      List&lt;Class&lt;? extends Super,Interface&gt;&gt; classes2 = Arrays.asList(A.class, B.class); // Compile Error
      List&lt;Class&lt;? extends Super&gt;&gt; classes3 = Arrays.asList(A.class, B.class); // Compile Error
  
  }
  </code></pre>
  
  <p>What is the right way to write it ? Why the first option works when I make casting only to A ?</p>