super keyword in Java

  • super variable refers immediate parent class instance.
  • super variable can invoke immediate parent class method.
  • super() acts as immediate parent class constructor and should be first line in child class constructor.

When invoking a superclass version of an overridden method the super keyword is used.


Live Demo

class Animal {
   public void move() {
      System.out.println("Animals can move");
class Dog extends Animal {
   public void move() {
      super.move(); // invokes the super class method
      System.out.println("Dogs can walk and run");
public class TestDog {
   public static void main(String args[]) {
      Animal b = new Dog(); // Animal reference but Dog object
      b.move(); // runs the method in Dog class


This will produce the following result −

Animals can move
Dogs can walk and run