The super keyword in java is a reference variable that is used to refer to parent class objects. An understanding of Inheritance and Polymorphism is needed in order to understand the super keyword. The keyword “super” came into the picture with the concept of Inheritance. It is majorly used in the following contexts: Show
1. Use of super with variablesThis scenario occurs when a derived class and base class has the same data members. In that case, there is a possibility of ambiguity for the JVM. We can understand it more clearly using this code snippet:
Java
In the above example, both base class and subclass have a member maxSpeed. We could access maxSpeed of base class in subclass using super keyword. 2. Use of super with methodsThis is used when we want to call the parent class method. So whenever a parent and child class have the same-named methods then to resolve ambiguity we use the super keyword. This code snippet helps to understand the said usage of the super keyword. Java
Output This is student class This is person class In the above example, we have seen that if we only call method message() then, the current class message() is invoked but with the use of the super keyword, message() of superclass could also be invoked. 3. Use of super with constructorsThe super keyword can also be used to access the parent class constructor. One more important thing is that ‘super’ can call both parametric as well as non-parametric constructors depending upon the situation. Following is the code snippet to explain the above concept: Java
Output Person class Constructor Student class Constructor In the above example, we have called the superclass constructor using the keyword ‘super’ via subclass constructor. Important Points to Remember while using Super Keyword
This article is contributed by Vishwajeet Srivastava. Please write comments if you find anything incorrect, or if you want to share more information about the topic discussed above. Which of these can be used in subclass to call the constructor of superclass?To explicitly call the superclass constructor from the subclass constructor, we use super() .
Which of this keyword can be used in a subclass to call the constructor of superclass Mcq?The superclass constructor can be called from the first line of a subclass constructor by using the keyword super and passing appropriate parameters to set the private instance variables of the superclass.
Which of this keyword can be used in a subclass to call the constructor of superclass O Super O this O extent O extends?Which of this keyword can be used in a subclass to call the constructor of superclass? Explanation: None.
Which of the keyword can be used in a subclass to call the constructor of superclass in Java?Subclass Constructors
or: super(parameter list); With super() , the superclass no-argument constructor is called.
|