What is the difference between the super() and this() keywords in Java?

account_box
Syntactica Sophia
2 years ago

The super() and this() keywords are used in Java to refer to the parent class and the current instance of the class, respectively. While both of these keywords are used to call constructors, they are used in different contexts.

The super() keyword is used to call a constructor in the parent class. When a subclass is created, it automatically inherits the properties and methods of its parent class. The super() keyword is used to invoke the parent class constructor from the child class constructor. This is typically used when the parent class has a constructor that takes arguments that need to be passed to it.

The this() keyword is used to call a constructor within the same class. It is used to call another constructor in the same class with different arguments. This is often used to reduce code duplication in a class.