title: Initialize field before super constructor runs?
body: <p>In Java, is there any way to initialize a field before the super constructor runs?</p>
  
  <p>Even the ugliest hacks I can come up with are rejected by the compiler:</p>
  
  <pre><code>class Base
  {
      Base(String someParameter)
      {
          System.out.println(this);
      }
  }
  
  class Derived extends Base
  {
      private final int a;
  
      Derived(String someParameter)
      {
          super(hack(someParameter, a = getValueFromDataBase()));
      }
  
      private static String hack(String returnValue, int ignored)
      {
          return returnValue;
      }
  
      public String toString()
      {
          return "a has value " + a;
      }
  }
  </code></pre>
  
  <p>Note: The issue disappeared when I switched from inheritance to delegation, but I would still like to know.</p>