Why are the fields of my super class getting initialized here ?
<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>
