In Java, before executing the constructor of a subclass or the subclass does not explicitly specify a constructor, the parameterless constructor of the parent class will be automatically called.
(Video tutorial recommendation: java course)
Three usage cases of super:
Access the overridden method in the parent class method.
Call the parent class constructor.
Access hidden member variables in the parent class.
Sample code:
class A{ int a; A(){ a = 3; System.out.println(a); } void dosomething(){ System.out.println("A"); } } class B extends A{ int a; B(){ a = 5; System.out.println(a); } void dosomething(){ super.dosomething(); System.out.println("B"); } }
(Recommended tutorial: java introductory tutorial)
When executed in the main method
B b = new B(); b.dosomething();
Output result:
3 5 A B
The constructor in the parent class cannot be inherited by the subclass. The subclass can only use its own constructor or the default parameterless constructor.
When the parent class defines a constructor with parameters, and when the subclass defines a constructor without parameters, the compiler automatically adds super() and an error occurs. (The parent class does not have a corresponding no-parameter constructor)
The above is the detailed content of What is the usage of super keyword in java. For more information, please follow other related articles on the PHP Chinese website!