Java super Keyword
igi.wwwftidea.com
In Java, the super keyword is used to refer to the parent class or call a method in the parent class. It can be used in two ways:
- Accessing Parent Class Members: The
superkeyword can be used to access the members (fields or methods) of the parent class from within the subclass. This is useful when a subclass needs to access or override a member of its parent class. For example:
class Animal {
public void makeSound() {
System.out.println("The animal makes a sound");
}
}
class Cat extends Animal {
@Override
public void makeSound() {
super.makeSound(); // Call the makeSound() method of the parent class
System.out.println("Meow");
}
}
In this example, the makeSound() method in the Cat class overrides the makeSound() method in the Animal class, but also calls the makeSound() method in the parent class using the super keyword.
- Calling Parent Class Constructor: The
superkeyword can also be used to call the constructor of the parent class from within the constructor of the subclass. This is necessary when the parent class has a constructor that takes arguments, and those arguments need to be passed to the constructor of the subclass. For example:
class Animal {
public Animal(String name) {
// Initialize the animal's name
}
}
class Cat extends Animal {
public Cat(String name) {
super(name); // Call the constructor of the parent class with the name argument
}
}
In this example, the Cat class has a constructor that takes a name argument, which is passed to the constructor of the parent class using the super keyword.
Overall, the super keyword is an important part of Java inheritance that allows subclasses to access and override members of their parent class, and call the constructor of their parent class when necessary.
