Since the
Test class constructor calls super with value 4, so the value is automatically upcasted to float as it cannot be downcasted to short.
when the constructor of B(float j) when it invokes its super costructor version of class A don't cause a compile error .... as in class A we should have A(float j).
Since in the constructor of class B we didn't explicitly call the super constructor, the compiler will insert the statement super(); as the first statement of the constructor. So it will look like
The implicit super call inserted by the compiler doesn't has any arguments...