title: Initializing final variable in java constructor
body: <p>Lets say I have a situation like this.</p>
  
  <pre><code>private final A a;
  private final B b;
  private final C c;
  private ClassX(){
    this.c = createCSomehow();
  }
  public ClassX(A a){
    this();
    this.a = a;
    this.b = null;
  }
  public ClassX(B b) {
    this();
    this.b = b;
    this.a = null;
  }
  </code></pre>
  
  <p>Why Idea is complaining about a and b property? Idea underline them and say: Variable a might not have been initialized. I am sure that I have no more constructors and that in every case a will be populated with some value.</p>