title: Generating new Instance of Class fails at Runtime
body: <p>i've got a Problem with java and generic classes.<br>
  Given the following code<br></p>
  
  <pre class="lang-java prettyprint-override"><code>public class A {
      public void n() { 
          System.out.println("In A"); 
      }
  }
  
  public class B extends A {
      @Override
      public void n() {
          System.out.println("In B");
          super.n();
      }
  }
  
  public class C {
      public A m_a;
      public &lt;T extends A&gt; C( Class&lt;T&gt; a ) {
          try {
              m_a = a.newInstance();
          }
          catch(Exception e) {
              e.printStackTrace();
          }
      }
      public void print(){ m_a.n(); };
  }
  </code></pre>
  
  <p>i try to instantiate an Object of Class C as following</p>
  
  <pre><code>C c = new C( B.class );
  </code></pre>
  
  <p>but get the following error:<br></p>
  
  <pre><code>java.lang.InstantiationException: testdbvsfile.Main$B
      at java.lang.Class.newInstance(Unknown Source)
      at testdbvsfile.Main$C.&lt;init&gt;(Main.java:63)
      at testdbvsfile.Main.main(Main.java:76)
  Caused by: java.lang.NoSuchMethodException: testdbvsfile.Main$B.&lt;init&gt;()
      at java.lang.Class.getConstructor0(Unknown Source)&lt;br&gt;
      ... 3 more
  </code></pre>
  
  <p>How can i make it work?<br>
  Thanks for help.<br>
  <br>
  btw: I'm using jre1.8.0_65</p>