A derived Java class does not inherit a constructor from its base class. If a base class has a default constructor, i.e., a constructor with no arguments, then that constructor is automatically called when a derived class is instantiated if the derived class has its own default constructor. A default constructor is automatically provided by the compiler if no constructors are present in the Java source code. To understand how default constructors are used with inheritance, follow these 10 steps.
Personclass does not have a default constructor defined in the source code. For purposes of clarity, I've included a default constructor that is commented out to show what type of constructor is automatically generated by the compiler.
Employeeclass inherits from Person and does not have a default constructor defined in the source code. Again, I've provided a comment to show the constructor that the compiler will generate. The default constructor in the
Personclass is not inherited by Employee and therefore a default constructor must be provided in Employee, either automatically by the compiler or coded by the developer. Note that the compiler will also generate a call to the base class default constructor.
Employeeclass. The program then calls the setter methods to establish values for the properties.