Method overriding in java



Method overriding is to call the same method in child and parents class.








The parents class and child class also have similar method "show()". If I called the "show()" child class method will be called.



Example-1
class A
{
      public void show()
      {
          System.out.println("In Class A");
      }
}

class B extends A
{
      public void show()
      {
          System.out.println("In Class B");
      }
}

public class Main
{
      public static void main(String[] args) 
      {
          B obj = new B();

          obj.show();
      }
}


Output



In Class B









If you want call parents class method in overriding, you can be use super keyword.



Example-2
class A
{
      public void show()
      {
          System.out.println("In Class A");
      }
}

class B extends A
{
      public void show()
      {
          super.show();

          System.out.println("In Class B");
      }
}

public class Main
{
      public static void main(String[] args) 
      {
          B obj = new B();

          obj.show();
      }
}


Output



In Class A
In Class B









Example-3
class A
{
      void show()
      {
            System.out.println("In Class A");
      }
}

class B extends A
{
      public void show()
      {         
            System.out.println("In Class B");
            
            super.show();
      }
}

public class Main
{
      public static void main(String[] args) 
      {
            B obj = new B();
            obj.show();
      }
}


Output



In Class B
In Class A