title: Why can't I refer to an instance method while explicitly invoking a constructor?
body: <p>Does anyone know why you can reference a <code>static</code> method in the first line of the constructor using <code>this()</code> or <code>super()</code>, but not a non-static method?</p>
  
  <p>Consider the following working:</p>
  
  <pre><code>public class TestWorking{
      private A a = null;
      public TestWorking(A aParam){
         this.a = aParam;
      }
  
      public TestWorking(B bParam)
      {
          this(TestWorking.getAFromB(bParam));
      }
  
      //It works because its marked static.
      private static A getAFromB(B param){
          A a = new A();
          a.setName(param.getName());
          return a;
      }
  }
  </code></pre>
  
  <p>And the following Non-Working example:</p>
  
  <pre><code>public class TestNotWorking{
      private A a = null;
      public TestNotWorking(A aParam){
         this.a = aParam;
      }
  
      public TestNotWorking(B bParam)
      {
          this(this.getAFromB(bParam));
      }
  
      //This does not work. WHY???
      private A getAFromB(B param){
          A a = new A();
          a.setName(param.getName());
          return a;
      }
  }
  </code></pre>