A subclass can call a constructor defined by its superclass using the form super(parameter-list);.
parameter-list must specify the parameters required by the superclass constructor.
The first statement executed within the constructor of a subclass must always be super(); (or super(parameter-list); if it is necessary to pass parameters).
The following is a version of TwoDShape with a constructor that initializes width and height.
The Triangle subclass uses super(w, h) to call the constructor of the TwoDShape superclass, passing the values of w and h.
TwoDShape's constructor initializes width and height to these values.
The Triangle subclass does not need to initialize width and height, only the style value, which is exclusive to it.
Using super( ) allows the superclass (TwoDShape) to construct its own subobject as desired and add functionality without the subclass needing to know the details.
Every form of constructor defined by the superclass can be called with super( ). The constructor executed will be the one whose arguments match the given parameters.
The following example shows expanded versions of TwoDShape and Triangle with default constructors and constructors that take one argument.
Call to the Superclass Constructor: When a subclass calls super( ), it is invoking the constructor of its immediate superclass.
Reference to Immediate Superclass: super( ) always references the superclass immediately above the class that is calling it, even in multi-level hierarchies.
First Instruction in the Constructor: super( ) must be the first instruction executed within the constructor of a subclass. This ensures that the superclass part of the object is initialized before the subclass constructor executes its own code.
Disclaimer: All resources provided are partly from the Internet. If there is any infringement of your copyright or other rights and interests, please explain the detailed reasons and provide proof of copyright or rights and interests and then send it to the email: [email protected] We will handle it for you as soon as possible.
Copyright© 2022 湘ICP备2022001581号-3