It does not create two objects, only a subclass object.
When inheriting from another class, you must call super () in your constructor. If you do not, the compiler will insert this call for you, as you can clearly see.
Superclass constructors are called because otherwise the object will be left in an uninitialized state.
source share