title: Why are the fields of my super class getting initialized here ?
body: <p>I'd like someone to verify whether my understanding is correct. 
  I've some code like this:</p>
  
  <pre><code>public class A {
  int a;
  int b;
  public A(int a)
  {
      this.a=a;
  }
  </code></pre>
  
  <p>Now A() is a constructor I've defined which means it is not the default constructor. 
  So, if I have a subclass that extends this class. </p>
  
  <pre><code>public class B extends A{
  public B()
  { 
     super(15);
  }
  
  }
  </code></pre>
  
  <p>If I print values of both a and b in the subclass, I see a gets a value of 15 and b gets a value of 0. When I have explicitly defined a constructor in A which means it isn't the default constructor, then how is the uninitialized field of b in the class A getting the value of 0 ? </p>